
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* 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 */

MagickBooleanType WritePDFImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)

{
  size_t *height;
  ssize_t *y;
  ssize_t *x;
  double dVar1;
  double dVar2;
  double dVar3;
  double dVar4;
  double dVar5;
  int iVar6;
  PixelChannelMap *pPVar7;
  _Image *p_Var8;
  ulonglong uVar9;
  float fVar10;
  longlong lVar11;
  undefined2 uVar12;
  uchar uVar13;
  MagickBooleanType MVar14;
  Image *pIVar15;
  int iVar16;
  StringInfo *pSVar17;
  uint uVar18;
  char *pcVar19;
  Image *pIVar20;
  size_t sVar21;
  MagickStatusType MVar22;
  char *pcVar23;
  uchar *puVar24;
  Quantum *pQVar25;
  MemoryInfo *pMVar26;
  uint uVar27;
  char *pcVar28;
  time_t time;
  ssize_t sVar29;
  uint uVar30;
  wchar_t *utf16;
  uchar *puVar31;
  uint *puVar32;
  uint *puVar33;
  uchar *puVar34;
  uchar *puVar35;
  char **memory;
  int iVar36;
  size_t sVar37;
  wchar_t *pwVar38;
  wchar_t *pwVar39;
  Image *pIVar40;
  int in_GS_OFFSET;
  bool bVar41;
  undefined2 in_FPUControlWord;
  MagickRealType intensity;
  MagickOffsetType MVar42;
  MagickOffsetType MVar43;
  MagickOffsetType MVar44;
  double dVar45;
  undefined4 uVar46;
  undefined4 uVar47;
  undefined4 uVar48;
  double dVar49;
  undefined8 local_6224;
  uint *local_6200;
  ulonglong local_61fc;
  undefined8 local_61f4;
  int local_61ec;
  undefined8 local_61e4;
  undefined1 local_61dc [4];
  undefined1 auStack_61d8 [12];
  double local_61cc;
  ulonglong local_61c4;
  CompressionType local_61b8;
  undefined8 local_61b4;
  uchar *local_61a8;
  CompressionType local_61a4;
  MemoryInfo *local_6194;
  undefined4 local_615c;
  undefined4 local_6154;
  undefined4 uStack_6150;
  uint local_6144;
  int local_6140;
  size_t local_60cc;
  time_t seconds;
  RectangleInfo geometry;
  RectangleInfo media_info;
  RectangleInfo page_info;
  GeometryInfo geometry_info;
  tm_conflict utc_time;
  char basename [4096];
  char buffer [4096];
  char create_date [4096];
  char modify_date [4096];
  char date [4096];
  char page_geometry [4096];
  
  iVar6 = *(int *)(in_GS_OFFSET + 0x14);
  if (image_info == (ImageInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");
  }
  if (image_info->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,
                  "WritePDFImage");
  }
  if (image == (Image *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");
  }
  if (image->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");
  }
  if (image->debug != MagickFalse) {
    LogMagickEvent(TraceEvent,"coders/pdf.c","WritePDFImage",0x534,"%s",image->filename);
  }
  if (exception == (ExceptionInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");
  }
  if (exception->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"
                 );
  }
  MVar14 = OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
  if (MVar14 == MagickFalse) {
LAB_002345f8:
    MVar14 = MagickFalse;
  }
  else {
    local_6200 = (uint *)AcquireQuantumMemory(0x800,8);
    pcVar23 = image->filename;
    pIVar40 = image;
    if (local_6200 == (uint *)0x0) {
      ThrowMagickException
                (exception,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,
                 "MemoryAllocationFailed","`%s\'",pcVar23);
      p_Var8 = (_Image *)image_info->adjoin;
      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {
        p_Var8 = pIVar15->previous;
        image = p_Var8;
        pIVar40 = pIVar15;
      }
    }
    else {
      memset(local_6200,0,0x4000);
      local_6224 = DAT_003068b8;
      pIVar15 = image;
      do {
        if (pIVar15->alpha_trait != UndefinedPixelTrait) {
          local_6224 = DAT_003068c0;
        }
        pIVar15 = GetNextImageInList(pIVar15);
      } while (pIVar15 != (Image *)0x0);
      if (image_info->compression == JPEG2000Compression) {
        local_6224 = (double)_DAT_002aa510;
      }
      pcVar28 = image_info->magick;
      iVar16 = LocaleCompare(pcVar28,"PDFA");
      pIVar15 = image;
      if (iVar16 == 0) {
        local_6224 = DAT_003068c8;
      }
      do {
        SetImageGray(pIVar15,exception);
        pSVar17 = GetImageProfile(pIVar15,"icc");
        if (pSVar17 != (StringInfo *)0x0) {
          SetImageStorageClass(pIVar15,DirectClass,exception);
          local_6224 = _DAT_003068d0;
        }
        uVar18 = pIVar15->colorspace - CMYKColorspace;
        if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {
          TransformImageColorspace(pIVar15,sRGBColorspace,exception);
        }
        pIVar15 = GetNextImageInList(pIVar15);
      } while (pIVar15 != (Image *)0x0);
      pcVar19 = GetImageOption(image_info,"pdf:version");
      if (pcVar19 != (char *)0x0) {
        dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);
        if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {
          dVar45 = _DAT_003068d0;
        }
        if (local_6224 <= dVar45) {
          local_6224 = dVar45;
        }
      }
      FormatLocaleString(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_);
      WriteBlobString(image,buffer);
      iVar16 = LocaleCompare(pcVar28,"PDFA");
      if (iVar16 == 0) {
        WriteBlobByte(image,'%');
        WriteBlobByte(image,0xe2);
        WriteBlobByte(image,0xe3);
        WriteBlobByte(image,0xcf);
        WriteBlobByte(image,0xd3);
        WriteBlobByte(image,'\n');
      }
      MVar42 = TellBlob(image);
      *(MagickOffsetType *)local_6200 = MVar42;
      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000);
      WriteBlobString(image,buffer);
      WriteBlobString(image,"<<\n");
      iVar16 = LocaleCompare(pcVar28,"PDFA");
      if (iVar16 == 0) {
        FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);
        WriteBlobString(image,buffer);
        uVar46 = 0x40080000;
      }
      else {
        uVar46 = 0x40000000;
      }
      FormatLocaleString(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46);
      WriteBlobString(image,buffer);
      WriteBlobString(image,"/Type /Catalog");
      pcVar19 = GetImageOption(image_info,"pdf:page-direction");
      if ((pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)
         ) {
        WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");
      }
      WriteBlobString(image,"\n");
      WriteBlobString(image,">>\n");
      WriteBlobString(image,"endobj\n");
      GetPathComponent(pcVar23,BasePath,basename);
      iVar16 = LocaleCompare(pcVar28,"PDFA");
      if (iVar16 == 0) {
        MVar42 = TellBlob(image);
        *(MagickOffsetType *)(local_6200 + 2) = MVar42;
        FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);
        WriteBlobString(image,buffer);
        WriteBlobString(image,"<<\n");
        WriteBlobString(image,"/Subtype /XML\n");
        modify_date[0] = '\0';
        pcVar19 = GetImageProperty(image,"date:modify",exception);
        if (pcVar19 != (char *)0x0) {
          CopyMagickString(modify_date,pcVar19,0x1000);
        }
        create_date[0] = '\0';
        pcVar19 = GetImageProperty(image,"date:create",exception);
        if (pcVar19 != (char *)0x0) {
          CopyMagickString(create_date,pcVar19,0x1000);
        }
        time = GetMagickTime();
        FormatMagickTime(time,0x1000,date);
        pcVar19 = EscapeParenthesis(basename);
        sVar29 = FormatLocaleString(page_geometry,0x1000,
                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"
                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,
                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");
        DestroyString(pcVar19);
        FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),
                           (int)((ulonglong)(double)sVar29 >> 0x20));
        WriteBlobString(image,buffer);
        WriteBlobString(image,"/Type /Metadata\n");
        WriteBlobString(image,">>\nstream\n");
        WriteBlobString(image,page_geometry);
        iVar36 = 0x10;
        WriteBlobString(image,"\nendstream\n");
        iVar16 = 0x12;
        WriteBlobString(image,"endobj\n");
        local_6224._0_4_ = (Image *)0x3;
        local_61f4._0_4_ = 3;
      }
      else {
        local_6224._0_4_ = (Image *)0x2;
        iVar16 = 0x11;
        iVar36 = 8;
        local_61f4._0_4_ = 2;
      }
      MVar42 = TellBlob(image);
      dVar45 = (double)(int)(Image *)local_6224;
      *(MagickOffsetType *)(iVar36 + (int)local_6200) = MVar42;
      uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);
      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);
      WriteBlobString(image,buffer);
      WriteBlobString(image,"<<\n");
      WriteBlobString(image,"/Type /Pages\n");
      FormatLocaleString(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),
                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20));
      WriteBlobString(image,buffer);
      _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);
      local_61ec = 1;
      pIVar15 = image;
      if (image_info->adjoin == MagickFalse) {
LAB_00234b1f:
        WriteBlobString(image,"]\n");
        FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),
                           (int)((ulonglong)(double)local_61ec >> 0x20));
        WriteBlobString(image,buffer);
        WriteBlobString(image,">>\n");
        WriteBlobString(image,"endobj\n");
        sVar21 = GetImageListLength(image);
        height = &geometry.height;
        y = &geometry.y;
        x = &geometry.x;
        local_6144 = 0;
        local_6140 = 0;
        local_6224._0_4_ = image;
        do {
          pIVar40 = (Image *)local_6224;
          pSVar17 = GetImageProfile((Image *)local_6224,"icc");
          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);
          local_61a4 = image_info->compression;
          if (image_info->compression == UndefinedCompression) {
            local_61a4 = ((Image *)local_6224)->compression;
          }
          local_61a8 = (uchar *)(local_61a4 - FaxCompression);
          local_61b8 = local_61a4;
          switch(local_61a8) {
          case (uchar *)0x0:
          case (uchar *)0x1:
            MVar14 = SetImageMonochrome((Image *)local_6224,exception);
            if ((MVar14 != MagickFalse) &&
               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;
            goto LAB_00234e0c;
          default:
_L429:
            local_61a4 = (CompressionType)local_61a8;
            break;
          case (uchar *)0x4:
            pcVar23 = "`%s\' (JP2)";
            sVar37 = 0x60a;
            goto LAB_00234df2;
          case (uchar *)0x5:
            ThrowMagickException
                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,
                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",
                       ((Image *)local_6224)->filename);
            local_61a8 = (uchar *)0xc;
            local_61b8 = RLECompression;
            break;
          case (uchar *)0x8:
            iVar16 = LocaleCompare(pcVar28,"PDFA");
            if (iVar16 == 0) goto LAB_00234e0c;
            local_61a4 = Group4Compression;
            break;
          case (uchar *)0x9:
            iVar16 = LocaleCompare(pcVar28,"PDFA");
            if (iVar16 == 0) goto LAB_00234e0c;
            local_61a4 = JBIG1Compression;
            break;
          case (uchar *)0xd:
            pcVar23 = "`%s\' (ZLIB)";
            sVar37 = 0x614;
LAB_00234df2:
            ThrowMagickException
                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,
                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);
LAB_00234e0c:
            local_61a4 = JPEGCompression;
            local_61b8 = RLECompression;
            local_61a8 = (uchar *)0xc;
          }
          local_61b4 = (((Image *)local_6224)->resolution).x;
          local_61cc = (((Image *)local_6224)->resolution).y;
          if (local_61cc == 0.0) {
LAB_00234e74:
            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);
            local_61b4 = geometry_info.rho;
            local_61cc = geometry_info.rho;
            if ((MVar22 & 8) != 0) {
              local_61cc = geometry_info.sigma;
            }
          }
          else {
            bVar41 = local_61cc == 0.0;
            if (local_61b4 == 0.0) {
              bVar41 = !NAN(local_61b4);
            }
            if (bVar41) goto LAB_00234e74;
          }
          if (image_info->density != (char *)0x0) {
            MVar22 = ParseGeometry(image_info->density,&geometry_info);
            local_61b4 = geometry_info.rho;
            local_61cc = geometry_info.rho;
            if ((MVar22 & 8) != 0) {
              local_61cc = geometry_info.sigma;
            }
          }
          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {
            local_61b4 = (double)((float)((longlong)
                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &
                                         0xffffffff) / DAT_0029f71c);
            local_61cc = (double)((float)((longlong)
                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &
                                         0xffffffff) / DAT_0029f71c);
          }
          SetGeometry((Image *)local_6224,&geometry);
          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",
                             SUB84((double)((Image *)local_6224)->columns,0),
                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),
                             SUB84((double)((Image *)local_6224)->rows,0),
                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));
          if (image_info->page == (char *)0x0) {
            uVar18 = (((Image *)local_6224)->page).width;
            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {
              if ((((Image *)local_6224)->gravity != ForgetGravity) &&
                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {
                CopyMagickString(page_geometry,"612x792",0x1000);
              }
            }
            else {
              dVar1 = (double)(((Image *)local_6224)->page).y;
              dVar49 = (double)(((Image *)local_6224)->page).x;
              dVar5 = (double)uVar27;
              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,
                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),
                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),
                                 (int)((ulonglong)dVar1 >> 0x20));
            }
          }
          else {
            CopyMagickString(page_geometry,image_info->page,0x1000);
          }
          ConcatenateMagickString(page_geometry,">",0x1000);
          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);
          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;
          dVar1 = (double)fVar10;
          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));
          geometry.width = local_60cc;
          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;
          dVar49 = (double)fVar10;
          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);
          utc_time.tm_sec =
               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |
               0x400;
          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));
          geometry.height = local_60cc;
          ParseAbsoluteGeometry(page_geometry,&media_info);
          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);
          if (((Image *)local_6224)->gravity != ForgetGravity) {
            geometry.x = -page_info.x;
            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;
          }
          local_61e4 = image_info->pointsize;
          if (local_61e4 == 0.0) {
            local_61e4 = (double)DAT_002b1d90;
          }
          GetImageProperty((Image *)local_6224,"label",exception);
          MVar42 = TellBlob((Image *)local_6224);
          dVar5 = (double)((uint)local_61f4 + 1);
          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),
                             (int)((ulonglong)dVar5 >> 0x20));
          WriteBlobString((Image *)local_6224,buffer);
          WriteBlobString((Image *)local_6224,"<<\n");
          WriteBlobString((Image *)local_6224,"/Type /Page\n");
          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);
          WriteBlobString((Image *)local_6224,buffer);
          WriteBlobString((Image *)local_6224,"/Resources <<\n");
          memory = (char **)0x0;
          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);
          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))
          {
            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",
                               SUB84((double)((Image *)local_6224)->scene,0),
                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),
                               SUB84(dVar5 + (double)DAT_002a9b80,0),
                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));
            WriteBlobString((Image *)local_6224,buffer);
          }
          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",
                             SUB84((double)((Image *)local_6224)->scene,0),
                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),
                             SUB84(dVar5 + (double)DAT_002a9bb0,0),
                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));
          WriteBlobString((Image *)local_6224,buffer);
          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",
                             SUB84(dVar5 + (double)DAT_002a9b78,0),
                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));
          WriteBlobString((Image *)local_6224,buffer);
          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);
          dVar3 = (double)DAT_0029f120;
          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);
          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),
                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),
                             (int)((ulonglong)dVar2 >> 0x20));
          WriteBlobString((Image *)local_6224,buffer);
          dVar2 = ((double)media_info.height * dVar3) / local_61cc;
          local_61cc = (double)(ulonglong)media_info.width;
          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);
          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;
          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),
                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);
          WriteBlobString((Image *)local_6224,buffer);
          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",
                             SUB84(dVar5 + (double)DAT_0029f718,0),
                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));
          pcVar23 = buffer;
          WriteBlobString((Image *)local_6224,buffer);
          fVar10 = DAT_002a9ba8;
          if (pSVar17 != (StringInfo *)0x0) {
            fVar10 = DAT_002aa50c;
          }
          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));
          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),
                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);
          WriteBlobString((Image *)local_6224,buffer);
          WriteBlobString((Image *)local_6224,">>\n");
          WriteBlobString((Image *)local_6224,"endobj\n");
          MVar42 = TellBlob((Image *)local_6224);
          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;
          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);
          dVar5 = (double)(longlong)local_61cc;
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),
                             (int)((ulonglong)dVar5 >> 0x20));
          WriteBlobString((Image *)local_6224,buffer);
          WriteBlobString((Image *)local_6224,"<<\n");
          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",
                             SUB84(dVar5 + (double)DAT_0029f718,0),
                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));
          WriteBlobString((Image *)local_6224,buffer);
          WriteBlobString((Image *)local_6224,">>\n");
          WriteBlobString((Image *)local_6224,"stream\n");
          MVar42 = TellBlob((Image *)local_6224);
          WriteBlobString((Image *)local_6224,"q\n");
          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {
            iVar16 = 0;
            do {
              WriteBlobString((Image *)local_6224,"BT\n");
              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;
              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",
                                 SUB84((double)(longlong)local_61cc,0),
                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),
                                 (uint)local_61e4,local_61e4._4_4_);
              WriteBlobString((Image *)local_6224,buffer);
              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);
              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +
                      (double)DAT_002b1d90;
              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),
                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),
                                 (int)((ulonglong)dVar5 >> 0x20));
              WriteBlobString((Image *)local_6224,buffer);
              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);
              WriteBlobString((Image *)local_6224,buffer);
              WriteBlobString((Image *)local_6224,"ET\n");
              pcVar23 = DestroyString(memory[iVar16]);
              memory[iVar16] = pcVar23;
              iVar16 = iVar16 + 1;
            } while (memory[iVar16] != (char *)0x0);
          }
          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);
          local_6154 = SUB84(dVar49,0);
          local_615c = SUB84(dVar1,0);
          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,
                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,
                             SUB84((double)geometry.x,0),
                             (int)((ulonglong)(double)geometry.x >> 0x20),
                             SUB84((double)geometry.y,0),
                             (int)((ulonglong)(double)geometry.y >> 0x20));
          WriteBlobString((Image *)local_6224,buffer);
          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;
          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),
                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,"Q\n");
          MVar43 = TellBlob(pIVar40);
          WriteBlobString(pIVar40,"\nendstream\n");
          WriteBlobString(pIVar40,"endobj\n");
          MVar44 = TellBlob(pIVar40);
          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;
          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),
                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));
          WriteBlobString(pIVar40,buffer);
          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),
                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,"endobj\n");
          MVar42 = TellBlob(pIVar40);
          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;
          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),
                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {
            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);
          }
          else if (local_61a4 < B44Compression) {
            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);
          }
          else {
            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);
          }
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40," ]\n");
          WriteBlobString(pIVar40,"endobj\n");
          MVar42 = TellBlob(pIVar40);
          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;
          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),
                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,"<<\n");
          if (memory != (char **)0x0) {
            WriteBlobString(pIVar40,"/Type /Font\n");
            WriteBlobString(pIVar40,"/Subtype /Type1\n");
            local_61e4 = (double)(ulonglong)pIVar40->scene;
            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)
                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));
            WriteBlobString(pIVar40,buffer);
            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");
            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");
            RelinquishMagickMemory(memory);
          }
          WriteBlobString(pIVar40,">>\n");
          WriteBlobString(pIVar40,"endobj\n");
          MVar42 = TellBlob(pIVar40);
          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;
          dVar1 = (double)((uint)local_61f4 + 6);
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),
                             (int)((ulonglong)dVar1 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,"<<\n");
          WriteBlobString(pIVar40,"/Type /XObject\n");
          WriteBlobString(pIVar40,"/Subtype /Image\n");
          local_61cc = (double)(ulonglong)pIVar40->scene;
          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),
                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));
          WriteBlobString(pIVar40,buffer);
          switch(local_61a8) {
          case (uchar *)0x0:
          case (uchar *)0x1:
            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);
            WriteBlobString(pIVar40,buffer);
            local_61cc = (double)(ulonglong)pIVar40->rows;
            dVar49 = (double)(longlong)local_61cc;
            local_61cc = (double)(ulonglong)pIVar40->columns;
            FormatLocaleString(buffer,0x1000,
                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"
                               ,"0",SUB84((double)(longlong)local_61cc,0),
                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),
                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));
            goto LAB_0023602b;
          default:
            pcVar23 = "RunLengthDecode";
            pcVar19 = "/Filter [ /%s ]\n";
            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");
            dVar49 = (double)CONCAT44(pcVar23,pcVar19);
LAB_0023602b:
            pcVar23 = buffer;
            WriteBlobString(pIVar40,buffer);
            local_61cc = (double)(ulonglong)pIVar40->columns;
            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),
                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,
                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));
            WriteBlobString(pIVar40,buffer);
            local_61cc = (double)(ulonglong)pIVar40->rows;
            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)
                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));
            WriteBlobString(pIVar40,buffer);
            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",
                               SUB84(dVar1 + (double)DAT_002aabd0,0),
                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));
            WriteBlobString(pIVar40,buffer);
            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;
            goto LAB_00235dee;
          case (uchar *)0x4:
            pcVar23 = "JPXDecode";
            goto LAB_00235f5e;
          case (uchar *)0x5:
            pcVar23 = "DCTDecode";
LAB_00235f5e:
            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);
            if (pIVar40->colorspace == CMYKColorspace) {
              WriteBlobString(pIVar40,buffer);
              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);
            }
            goto LAB_00235d3f;
          case (uchar *)0x8:
            pcVar23 = "LZWDecode";
            break;
          case (uchar *)0x9:
            pcVar23 = "ASCII85Decode";
            break;
          case (uchar *)0xd:
            pcVar23 = "FlateDecode";
          }
          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);
LAB_00235d3f:
          WriteBlobString(pIVar40,buffer);
          local_61cc = (double)(ulonglong)pIVar40->columns;
          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),
                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));
          WriteBlobString(pIVar40,buffer);
          local_61cc = (double)(ulonglong)pIVar40->rows;
          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),
                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));
          WriteBlobString(pIVar40,buffer);
          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",
                             SUB84(dVar1 + (double)DAT_002aabd0,0),
                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));
          WriteBlobString(pIVar40,buffer);
          local_61cc._0_4_ = 8;
LAB_00235dee:
          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);
          WriteBlobString(pIVar40,buffer);
          if (pIVar40->alpha_trait != UndefinedPixelTrait) {
            fVar10 = DAT_002aabd4;
            if (pSVar17 != (StringInfo *)0x0) {
              fVar10 = DAT_002a9b8c;
            }
            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));
            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),
                               (int)((ulonglong)dVar49 >> 0x20));
            WriteBlobString(pIVar40,buffer);
          }
          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",
                             SUB84(dVar1 + (double)DAT_0029f718,0),
                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,">>\n");
          WriteBlobString(pIVar40,"stream\n");
          MVar42 = TellBlob(pIVar40);
          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;
          uVar18 = (uint)uVar9;
          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {
            RelinquishMagickMemory(local_6200);
            ThrowMagickException
                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,
                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);
            p_Var8 = (_Image *)image_info->adjoin;
            pIVar15 = pIVar40;
            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {
              p_Var8 = pIVar20->previous;
              pIVar15 = p_Var8;
              pIVar40 = pIVar20;
            }
            goto LAB_00239234;
          }
          if (B44ACompression < local_61a4) {
            if ((image_info->type != TrueColorType) &&
               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {
              switch(local_61a8) {
              case (uchar *)0x0:
              case (uchar *)0x1:
                goto _L184;
              default:
                local_6194 = AcquireVirtualMemory(uVar18,1);
                if (local_6194 == (MemoryInfo *)0x0) {
                  RelinquishMagickMemory(local_6200);
                  ThrowMagickException
                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,
                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);
                  p_Var8 = (_Image *)image_info->adjoin;
                  pIVar15 = pIVar40;
                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {
                    p_Var8 = pIVar20->previous;
                    pIVar15 = p_Var8;
                    pIVar40 = pIVar20;
                  }
                  goto LAB_00239234;
                }
                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);
                if (0 < (int)pIVar40->rows) {
                  iVar16 = 0;
                  local_61e4 = 0.0;
                  puVar31 = puVar24;
                  do {
                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);
                    if (pQVar25 == (Quantum *)0x0) break;
                    puVar35 = puVar31;
                    puVar34 = puVar31;
                    if (0 < (int)pIVar40->columns) {
                      do {
                        pPVar7 = pIVar40->channel_map;
                        puVar34 = puVar35 + 1;
                        uVar13 = '\0';
                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +
                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +
                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];
                        if (0.0 < fVar10) {
                          fVar10 = fVar10 / DAT_002a7ff0;
                          uVar13 = 0xff;
                          if (fVar10 < DAT_002a7ff4) {
                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);
                          }
                        }
                        *puVar35 = uVar13;
                        pQVar25 = pQVar25 + pIVar40->number_channels;
                        puVar35 = puVar34;
                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);
                    }
                    uVar27 = pIVar40->rows;
                    if (pIVar40->previous == (_Image *)0x0) {
                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,
                                                (ulonglong)uVar27);
                      if (MVar14 == MagickFalse) break;
                      uVar27 = pIVar40->rows;
                    }
                    iVar16 = iVar16 + 1;
                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +
                                                  (uint)(0xfffffffe < (uint)local_61e4),
                                                  (uint)local_61e4 + 1);
                    puVar31 = puVar34;
                  } while (iVar16 < (int)uVar27);
                }
LAB_00237039:
                if (local_61b8 == LZWCompression) {
                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);
                }
                else {
                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);
                }
LAB_00237064:
                RelinquishVirtualMemory(local_6194);
                goto joined_r0x002361ac;
              case (uchar *)0x4:
_L217:
                pcVar23 = "jp2";
                break;
              case (uchar *)0x5:
_L215:
                pcVar23 = "jpeg";
                break;
              case (uchar *)0x9:
                Ascii85Initialize(pIVar40);
                if (0 < (int)pIVar40->rows) {
                  local_61e4 = 0.0;
                  local_6224._0_4_ = (Image *)0x0;
                  do {
                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,
                                               pIVar40->columns,1,exception);
                    if (pQVar25 == (Quantum *)0x0) break;
                    if (0 < (int)pIVar40->columns) {
                      iVar16 = 0;
                      do {
                        pPVar7 = pIVar40->channel_map;
                        uVar13 = '\0';
                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +
                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +
                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];
                        if (0.0 < fVar10) {
                          fVar10 = fVar10 / DAT_002a7ff0;
                          uVar13 = 0xff;
                          if (fVar10 < DAT_002a7ff4) {
                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);
                          }
                        }
                        iVar16 = iVar16 + 1;
                        Ascii85Encode(pIVar40,uVar13);
                        pQVar25 = pQVar25 + pIVar40->number_channels;
                      } while (iVar16 < (int)pIVar40->columns);
                    }
                    uVar18 = pIVar40->rows;
                    if (pIVar40->previous == (_Image *)0x0) {
                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,
                                                (ulonglong)uVar18);
                      if (MVar14 == MagickFalse) break;
                      uVar18 = pIVar40->rows;
                    }
                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);
                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +
                                                  (uint)(0xfffffffe < (uint)local_61e4),
                                                  (uint)local_61e4 + 1);
                  } while ((int)(Image *)local_6224 < (int)uVar18);
                }
                goto LAB_002368f4;
              }
              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);
joined_r0x002361ac:
              if (MVar14 != MagickFalse) goto LAB_002361b2;
              goto LAB_0023707e;
            }
            if ((pIVar40->storage_class == DirectClass) ||
               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {
              if (local_61b8 == JPEGCompression) goto _L215;
              if (local_61b8 != NoCompression) {
                if (local_61b8 == JPEG2000Compression) goto _L217;
                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;
                local_6194 = AcquireVirtualMemory(sVar37,1);
                if (local_6194 == (MemoryInfo *)0x0) {
                  RelinquishMagickMemory(local_6200);
                  ThrowMagickException
                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,
                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);
                  p_Var8 = (_Image *)image_info->adjoin;
                  pIVar15 = pIVar40;
                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {
                    p_Var8 = pIVar20->previous;
                    pIVar15 = p_Var8;
                    pIVar40 = pIVar20;
                  }
                  goto LAB_00239234;
                }
                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);
                if (0 < (int)pIVar40->rows) {
                  local_61b4 = 0.0;
                  local_6224._0_4_ = (Image *)0x0;
                  puVar31 = puVar24;
                  do {
                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,
                                               pIVar40->columns,1,exception);
                    if (pQVar25 == (Quantum *)0x0) break;
                    if (0 < (int)pIVar40->columns) {
                      iVar16 = 0;
                      puVar35 = puVar31;
                      do {
                        uVar13 = '\0';
                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {
                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;
                          uVar13 = 0xff;
                          if (dVar1 < (double)DAT_002a7ff4) {
                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                          }
                        }
                        *puVar35 = uVar13;
                        uVar13 = '\0';
                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {
                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;
                          uVar13 = 0xff;
                          if (dVar1 < (double)DAT_002a7ff4) {
                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                          }
                        }
                        puVar35[1] = uVar13;
                        uVar13 = '\0';
                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {
                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;
                          uVar13 = 0xff;
                          if (dVar1 < (double)DAT_002a7ff4) {
                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                          }
                        }
                        puVar35[2] = uVar13;
                        if (pIVar40->colorspace == CMYKColorspace) {
                          puVar31 = puVar35 + 4;
                          uVar13 = '\0';
                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&
                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {
                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;
                            uVar13 = 0xff;
                            if (dVar1 < (double)DAT_002a7ff4) {
                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                            }
                          }
                          puVar35[3] = uVar13;
                        }
                        else {
                          puVar31 = puVar35 + 3;
                        }
                        iVar16 = iVar16 + 1;
                        pQVar25 = pQVar25 + pIVar40->number_channels;
                        puVar35 = puVar31;
                      } while (iVar16 < (int)pIVar40->columns);
                    }
                    uVar18 = pIVar40->rows;
                    if (pIVar40->previous == (_Image *)0x0) {
                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,
                                                (ulonglong)uVar18);
                      if (MVar14 == MagickFalse) break;
                      uVar18 = pIVar40->rows;
                    }
                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);
                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +
                                                  (uint)(0xfffffffe < (uint)local_61b4),
                                                  (uint)local_61b4 + 1);
                  } while ((int)(Image *)local_6224 < (int)uVar18);
                }
                if (local_61b8 == LZWCompression) {
                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);
                }
                else {
                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);
                }
                goto LAB_00237064;
              }
              Ascii85Initialize(pIVar40);
              if (0 < (int)pIVar40->rows) {
                local_61e4 = 0.0;
                local_6224._0_4_ = (Image *)0x0;
                do {
                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns
                                             ,1,exception);
                  if (pQVar25 == (Quantum *)0x0) break;
                  if (0 < (int)pIVar40->columns) {
                    iVar16 = 0;
                    do {
                      uVar13 = '\0';
                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {
                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;
                        uVar13 = 0xff;
                        if (dVar1 < (double)DAT_002a7ff4) {
                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                        }
                      }
                      Ascii85Encode(pIVar40,uVar13);
                      uVar13 = '\0';
                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {
                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;
                        uVar13 = 0xff;
                        if (dVar1 < (double)DAT_002a7ff4) {
                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                        }
                      }
                      Ascii85Encode(pIVar40,uVar13);
                      uVar13 = '\0';
                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {
                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;
                        uVar13 = 0xff;
                        if (dVar1 < (double)DAT_002a7ff4) {
                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                        }
                      }
                      Ascii85Encode(pIVar40,uVar13);
                      if (pIVar40->colorspace == CMYKColorspace) {
                        uVar13 = '\0';
                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&
                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {
                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;
                          uVar13 = 0xff;
                          if (dVar1 < (double)DAT_002a7ff4) {
                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                          }
                        }
                        Ascii85Encode(pIVar40,uVar13);
                      }
                      iVar16 = iVar16 + 1;
                      pQVar25 = pQVar25 + pIVar40->number_channels;
                    } while (iVar16 < (int)pIVar40->columns);
                  }
                  uVar18 = pIVar40->rows;
                  if (pIVar40->previous == (_Image *)0x0) {
                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,
                                              (ulonglong)uVar18);
                    if (MVar14 == MagickFalse) break;
                    uVar18 = pIVar40->rows;
                  }
                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);
                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +
                                                (uint)(0xfffffffe < (uint)local_61e4),
                                                (uint)local_61e4 + 1);
                } while ((int)(Image *)local_6224 < (int)uVar18);
              }
            }
            else {
              if (local_61b8 != NoCompression) {
                local_6194 = AcquireVirtualMemory(uVar18,1);
                if (local_6194 != (MemoryInfo *)0x0) {
                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);
                  if (0 < (int)pIVar40->rows) {
                    local_61e4 = 0.0;
                    local_6224._0_4_ = (Image *)0x0;
                    puVar31 = puVar24;
                    do {
                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,
                                                 pIVar40->columns,1,exception);
                      if (pQVar25 == (Quantum *)0x0) break;
                      puVar35 = puVar31;
                      puVar34 = puVar31;
                      if (0 < (int)pIVar40->columns) {
                        do {
                          uVar13 = '\0';
                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {
                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);
                          }
                          puVar34 = puVar35 + 1;
                          *puVar35 = uVar13;
                          pQVar25 = pQVar25 + pIVar40->number_channels;
                          puVar35 = puVar34;
                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);
                      }
                      uVar27 = pIVar40->rows;
                      if (pIVar40->previous == (_Image *)0x0) {
                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,
                                                  (ulonglong)uVar27);
                        if (MVar14 == MagickFalse) break;
                        uVar27 = pIVar40->rows;
                      }
                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);
                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +
                                                    (uint)(0xfffffffe < (uint)local_61e4),
                                                    (uint)local_61e4 + 1);
                      puVar31 = puVar34;
                    } while ((int)(Image *)local_6224 < (int)uVar27);
                  }
                  goto LAB_00237039;
                }
                RelinquishMagickMemory(local_6200);
                ThrowMagickException
                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,
                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);
                if (image_info->adjoin != MagickFalse) {
                  pIVar15 = pIVar40->previous;
                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {
                    pIVar40 = pIVar20;
                    pIVar15 = pIVar20->previous;
                  }
                }
                goto LAB_00239234;
              }
              Ascii85Initialize(pIVar40);
              if (0 < (int)pIVar40->rows) {
                local_61e4 = 0.0;
                local_6224._0_4_ = (Image *)0x0;
                do {
                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns
                                             ,1,exception);
                  if (pQVar25 == (Quantum *)0x0) break;
                  if (0 < (int)pIVar40->columns) {
                    iVar16 = 0;
                    do {
                      uVar13 = '\0';
                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {
                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);
                      }
                      iVar16 = iVar16 + 1;
                      Ascii85Encode(pIVar40,uVar13);
                      pQVar25 = pQVar25 + pIVar40->number_channels;
                    } while (iVar16 < (int)pIVar40->columns);
                  }
                  uVar18 = pIVar40->rows;
                  if (pIVar40->previous == (_Image *)0x0) {
                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,
                                              (ulonglong)uVar18);
                    if (MVar14 == MagickFalse) break;
                    uVar18 = pIVar40->rows;
                  }
                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);
                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +
                                                (uint)(0xfffffffe < (uint)local_61e4),
                                                (uint)local_61e4 + 1);
                } while ((int)(Image *)local_6224 < (int)uVar18);
              }
            }
LAB_002368f4:
            Ascii85Flush(pIVar40);
            goto LAB_002361b2;
          }
_L184:
          iVar16 = LocaleCompare("0","0");
          if (iVar16 == 0) {
            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);
          }
          else {
            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);
          }
LAB_002361b2:
          MVar43 = TellBlob(pIVar40);
          WriteBlobString(pIVar40,"\nendstream\n");
          WriteBlobString(pIVar40,"endobj\n");
          MVar44 = TellBlob(pIVar40);
          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;
          local_61c4 = (ulonglong)((uint)local_61f4 + 7);
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),
                             (int)((ulonglong)(double)local_61c4 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),
                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,"endobj\n");
          uVar18 = (uint)local_61f4 + 8;
          MVar42 = TellBlob(pIVar40);
          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;
          local_61c4 = (ulonglong)uVar18;
          dVar1 = (double)local_61c4;
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),
                             (int)((ulonglong)dVar1 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          if (pIVar40->colorspace == CMYKColorspace) {
            if (pSVar17 != (StringInfo *)0x0) {
              local_61b4._0_4_ = 4;
              pcVar23 = "DeviceCMYK";
              goto LAB_0023814a;
            }
            pcVar23 = "DeviceCMYK";
LAB_0023632d:
            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);
LAB_00236346:
            WriteBlobString(pIVar40,buffer);
          }
          else {
            if ((local_61a4 < B44Compression) ||
               ((image_info->type != TrueColorType &&
                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {
              pcVar23 = "DeviceGray";
              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;
              local_61b4._0_4_ = 1;
              pcVar23 = "DeviceGray";
            }
            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||
                    (local_61b8 - JPEG2000Compression < 2)) {
              pcVar23 = "DeviceRGB";
              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;
              local_61b4._0_4_ = 3;
            }
            else {
              if (pSVar17 == (StringInfo *)0x0) {
                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);
                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",
                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),
                                   SUB84(dVar1 + (double)DAT_002a9b78,0),
                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));
                goto LAB_00236346;
              }
              local_61b4._0_4_ = 0;
              pcVar23 = "DeviceRGB";
            }
LAB_0023814a:
            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),
                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));
            WriteBlobString(pIVar40,buffer);
            WriteBlobString(pIVar40,"endobj\n");
            MVar42 = TellBlob(pIVar40);
            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;
            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);
            dVar1 = (double)(longlong)local_61e4;
            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),
                               (int)((ulonglong)dVar1 >> 0x20));
            WriteBlobString(pIVar40,buffer);
            FormatLocaleString(buffer,0x1000,
                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"
                               ,SUB84((double)(uint)local_61b4,0),
                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),
                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)
            ;
            WriteBlobString(pIVar40,buffer);
            MVar42 = TellBlob(pIVar40);
            Ascii85Initialize(pIVar40);
            puVar24 = GetStringInfoDatum(pSVar17);
            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;
                iVar16 = iVar16 + 1) {
              Ascii85Encode(pIVar40,puVar24[iVar16]);
            }
            Ascii85Flush(pIVar40);
            MVar43 = TellBlob(pIVar40);
            WriteBlobString(pIVar40,"endstream\n");
            WriteBlobString(pIVar40,"endobj\n");
            uVar18 = (uint)local_61f4 + 10;
            iVar16 = (uint)local_61f4 * 2;
            MVar44 = TellBlob(pIVar40);
            local_61f4 = (ulonglong)uVar18;
            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;
            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),
                               (int)((ulonglong)(double)local_61f4 >> 0x20));
            WriteBlobString(pIVar40,buffer);
            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),
                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));
            WriteBlobString(pIVar40,buffer);
          }
          WriteBlobString(pIVar40,"endobj\n");
          SetGeometry(pIVar40,&geometry);
          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);
          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");
          MVar14 = IsStringTrue(pcVar23);
          if (MVar14 == MagickFalse) {
            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);
          }
          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);
          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;
          MVar42 = TellBlob(pIVar40);
          dVar1 = (double)(uVar18 + 1);
          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),
                             (int)((ulonglong)dVar1 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,"<<\n");
          switch(local_61a8) {
          case (uchar *)0x0:
          case (uchar *)0x1:
            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);
            WriteBlobString(pIVar40,buffer);
            local_61c4 = (ulonglong)pIVar15->rows;
            dVar49 = (double)local_61c4;
            local_61c4 = (ulonglong)pIVar15->columns;
            FormatLocaleString(buffer,0x1000,
                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"
                               ,"0",SUB84((double)local_61c4,0),
                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),
                               (int)((ulonglong)dVar49 >> 0x20));
            goto LAB_0023649f;
          default:
            pcVar23 = "RunLengthDecode";
            break;
          case (uchar *)0x4:
            pcVar23 = "JPXDecode";
            goto LAB_00236676;
          case (uchar *)0x5:
            pcVar23 = "DCTDecode";
LAB_00236676:
            pcVar19 = "/Filter [ /%s ]\n";
            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);
            dVar49 = (double)CONCAT44(pcVar23,pcVar19);
            if (pIVar15->colorspace == CMYKColorspace) {
              WriteBlobString(pIVar40,buffer);
              uVar48 = 0x1000;
              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);
              dVar49 = (double)CONCAT44(pcVar23,uVar48);
            }
            goto LAB_0023649f;
          case (uchar *)0x8:
            pcVar23 = "LZWDecode";
            break;
          case (uchar *)0x9:
            pcVar23 = "ASCII85Decode";
            break;
          case (uchar *)0xd:
            pcVar23 = "FlateDecode";
          }
          pcVar19 = "/Filter [ /%s ]\n";
          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);
          dVar49 = (double)CONCAT44(pcVar23,pcVar19);
LAB_0023649f:
          pcVar23 = buffer;
          WriteBlobString(pIVar40,buffer);
          local_61c4 = (ulonglong)pIVar15->columns;
          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),
                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),
                             (int)((ulonglong)dVar49 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          local_61c4 = (ulonglong)pIVar15->rows;
          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),
                             (int)((ulonglong)(double)local_61c4 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          fVar10 = DAT_002a9b78;
          if (pSVar17 == (StringInfo *)0x0) {
            fVar10 = 1.0;
          }
          dVar49 = (double)((float)(uVar18 + 1) - fVar10);
          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),
                             (int)((ulonglong)dVar49 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);
          WriteBlobString(pIVar40,buffer);
          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",
                             SUB84(dVar1 + (double)DAT_0029f718,0),
                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,">>\n");
          WriteBlobString(pIVar40,"stream\n");
          MVar42 = TellBlob(pIVar40);
          if (local_61a4 < B44Compression) {
_L295:
            iVar16 = LocaleCompare("0","0");
            if (iVar16 == 0) {
              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);
            }
            else {
              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);
            }
            goto LAB_00236939;
          }
          sVar37 = pIVar15->rows * pIVar15->columns;
          if ((image_info->type == TrueColorType) ||
             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {
            if ((pIVar15->storage_class != DirectClass) &&
               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {
              if (local_61b8 == NoCompression) {
                Ascii85Initialize(pIVar40);
                if (0 < (int)pIVar15->rows) {
                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);
                  do {
                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,
                                               exception);
                    if (pQVar25 == (Quantum *)0x0) break;
                    if (0 < (int)pIVar15->columns) {
                      iVar16 = 0;
                      do {
                        uVar13 = '\0';
                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {
                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);
                        }
                        iVar16 = iVar16 + 1;
                        Ascii85Encode(pIVar40,uVar13);
                        pQVar25 = pQVar25 + pIVar40->number_channels;
                      } while (iVar16 < (int)pIVar15->columns);
                    }
                    iVar16 = (int)local_61dc + 1;
                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);
                  } while (iVar16 < (int)pIVar15->rows);
                }
                goto LAB_00236e87;
              }
              pMVar26 = AcquireVirtualMemory(sVar37,1);
              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);
              if (pMVar26 != (MemoryInfo *)0x0) {
                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);
                if (0 < (int)pIVar15->rows) {
                  iVar16 = 0;
                  puVar24 = local_61a8;
                  do {
                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);
                    if (pQVar25 == (Quantum *)0x0) break;
                    puVar31 = puVar24;
                    puVar35 = puVar24;
                    if (0 < (int)pIVar15->columns) {
                      do {
                        uVar13 = '\0';
                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {
                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);
                        }
                        puVar35 = puVar31 + 1;
                        *puVar31 = uVar13;
                        pQVar25 = pQVar25 + pIVar15->number_channels;
                        puVar31 = puVar35;
                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);
                    }
                    iVar16 = iVar16 + 1;
                    puVar24 = puVar35;
                  } while (iVar16 < (int)pIVar15->rows);
                }
                goto LAB_0023720b;
              }
              DestroyImage(pIVar15);
              RelinquishMagickMemory(local_6200);
              ThrowMagickException
                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,
                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);
              if (image_info->adjoin != MagickFalse) {
                pIVar15 = pIVar40->previous;
                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {
                  pIVar40 = pIVar20;
                  pIVar15 = pIVar20->previous;
                }
              }
              goto LAB_00239234;
            }
            if (local_61b8 == JPEGCompression) goto _L324;
            if (local_61b8 == NoCompression) {
              Ascii85Initialize(pIVar40);
              if ((int)pIVar15->rows < 1) goto LAB_00236e87;
              iVar16 = 0;
              do {
                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);
                if (pQVar25 == (Quantum *)0x0) break;
                if (0 < (int)pIVar15->columns) {
                  local_6224._0_4_ = (Image *)0x0;
                  do {
                    uVar13 = '\0';
                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {
                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;
                      uVar13 = 0xff;
                      if (dVar1 < (double)DAT_002a7ff4) {
                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                      }
                    }
                    Ascii85Encode(pIVar40,uVar13);
                    uVar13 = '\0';
                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {
                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;
                      uVar13 = 0xff;
                      if (dVar1 < (double)DAT_002a7ff4) {
                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                      }
                    }
                    Ascii85Encode(pIVar40,uVar13);
                    uVar13 = '\0';
                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {
                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;
                      uVar13 = 0xff;
                      if (dVar1 < (double)DAT_002a7ff4) {
                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                      }
                    }
                    Ascii85Encode(pIVar40,uVar13);
                    if (pIVar40->colorspace == CMYKColorspace) {
                      uVar13 = '\0';
                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&
                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {
                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;
                        uVar13 = 0xff;
                        if (dVar1 < (double)DAT_002a7ff4) {
                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                        }
                      }
                      Ascii85Encode(pIVar40,uVar13);
                    }
                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);
                    pQVar25 = pQVar25 + pIVar15->number_channels;
                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);
                }
                iVar16 = iVar16 + 1;
              } while (iVar16 < (int)pIVar15->rows);
              Ascii85Flush(pIVar40);
              goto LAB_00236939;
            }
            if (local_61b8 == JPEG2000Compression) goto _L326;
            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);
            pMVar26 = AcquireVirtualMemory(sVar37,4);
            if (pMVar26 == (MemoryInfo *)0x0) {
              DestroyImage(pIVar15);
              RelinquishMagickMemory(local_6200);
              ThrowMagickException
                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,
                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);
              p_Var8 = (_Image *)image_info->adjoin;
              pIVar15 = pIVar40;
              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {
                p_Var8 = pIVar20->previous;
                pIVar15 = p_Var8;
                pIVar40 = pIVar20;
              }
              goto LAB_00239234;
            }
            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);
            if (0 < (int)pIVar15->rows) {
              iVar16 = 0;
              puVar31 = puVar24;
              do {
                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);
                if (pQVar25 == (Quantum *)0x0) break;
                if (0 < (int)pIVar15->columns) {
                  iVar36 = 0;
                  puVar35 = puVar31;
                  do {
                    uVar13 = '\0';
                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {
                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;
                      uVar13 = 0xff;
                      if (dVar1 < (double)DAT_002a7ff4) {
                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                      }
                    }
                    *puVar35 = uVar13;
                    uVar13 = '\0';
                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {
                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;
                      uVar13 = 0xff;
                      if (dVar1 < (double)DAT_002a7ff4) {
                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                      }
                    }
                    puVar35[1] = uVar13;
                    uVar13 = '\0';
                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {
                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;
                      uVar13 = 0xff;
                      if (dVar1 < (double)DAT_002a7ff4) {
                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                      }
                    }
                    puVar35[2] = uVar13;
                    if (pIVar15->colorspace == CMYKColorspace) {
                      puVar31 = puVar35 + 4;
                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);
                      uVar13 = '\0';
                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&
                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {
                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;
                        uVar13 = 0xff;
                        if (dVar1 < (double)DAT_002a7ff4) {
                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                        }
                      }
                      puVar35[3] = uVar13;
                    }
                    else {
                      puVar31 = puVar35 + 3;
                    }
                    iVar36 = iVar36 + 1;
                    pQVar25 = pQVar25 + pIVar15->number_channels;
                    puVar35 = puVar31;
                  } while (iVar36 < (int)pIVar15->columns);
                }
                iVar16 = iVar16 + 1;
              } while (iVar16 < (int)pIVar15->rows);
            }
            if (local_61b8 == LZWCompression) {
              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);
            }
            else {
              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);
            }
            RelinquishVirtualMemory(pMVar26);
            if (MVar14 != MagickFalse) goto LAB_00236939;
            MVar14 = MagickFalse;
LAB_0023707e:
            RelinquishMagickMemory(local_6200);
            CloseBlob(pIVar40);
            goto LAB_002345fa;
          }
          switch(local_61a8) {
          case (uchar *)0x0:
          case (uchar *)0x1:
            goto _L295;
          default:
            pMVar26 = AcquireVirtualMemory(sVar37,1);
            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);
            if (pMVar26 != (MemoryInfo *)0x0) {
              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);
              if (0 < (int)pIVar15->rows) {
                iVar16 = 0;
                puVar24 = local_61a8;
                do {
                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);
                  if (pQVar25 == (Quantum *)0x0) break;
                  puVar31 = puVar24;
                  puVar35 = puVar24;
                  if (0 < (int)pIVar15->columns) {
                    do {
                      pPVar7 = pIVar15->channel_map;
                      puVar35 = puVar31 + 1;
                      uVar13 = '\0';
                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +
                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +
                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];
                      if (0.0 < fVar10) {
                        fVar10 = fVar10 / DAT_002a7ff0;
                        uVar13 = 0xff;
                        if (fVar10 < DAT_002a7ff4) {
                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);
                        }
                      }
                      *puVar31 = uVar13;
                      pQVar25 = pQVar25 + pIVar15->number_channels;
                      puVar31 = puVar35;
                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);
                  }
                  iVar16 = iVar16 + 1;
                  puVar24 = puVar35;
                } while (iVar16 < (int)pIVar15->rows);
              }
LAB_0023720b:
              if (local_61b8 == LZWCompression) {
                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);
              }
              else {
                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);
              }
              RelinquishVirtualMemory((MemoryInfo *)local_61dc);
              if (MVar14 == MagickFalse) {
                MVar14 = MagickFalse;
                goto LAB_0023707e;
              }
              goto LAB_00236939;
            }
            DestroyImage(pIVar15);
            RelinquishMagickMemory(local_6200);
            ThrowMagickException
                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,
                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);
            p_Var8 = (_Image *)image_info->adjoin;
            pIVar15 = pIVar40;
            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {
              p_Var8 = pIVar20->previous;
              pIVar15 = p_Var8;
              pIVar40 = pIVar20;
            }
            goto LAB_00239234;
          case (uchar *)0x4:
_L326:
            pcVar23 = "jp2";
            break;
          case (uchar *)0x5:
_L324:
            pcVar23 = "jpeg";
            break;
          case (uchar *)0x9:
            Ascii85Initialize(pIVar40);
            if (0 < (int)pIVar15->rows) {
              iVar16 = 0;
              do {
                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);
                if (pQVar25 == (Quantum *)0x0) break;
                if (0 < (int)pIVar15->columns) {
                  iVar36 = 0;
                  do {
                    pPVar7 = pIVar15->channel_map;
                    uVar13 = '\0';
                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +
                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +
                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];
                    if (0.0 < fVar10) {
                      fVar10 = fVar10 / DAT_002a7ff0;
                      uVar13 = 0xff;
                      if (fVar10 < DAT_002a7ff4) {
                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);
                      }
                    }
                    iVar36 = iVar36 + 1;
                    Ascii85Encode(pIVar40,uVar13);
                    pQVar25 = pQVar25 + pIVar15->number_channels;
                  } while (iVar36 < (int)pIVar15->columns);
                }
                iVar16 = iVar16 + 1;
              } while (iVar16 < (int)pIVar15->rows);
            }
LAB_00236e87:
            Ascii85Flush(pIVar40);
            goto LAB_00236939;
          }
          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);
          if (MVar14 == MagickFalse) goto LAB_0023707e;
LAB_00236939:
          DestroyImage(pIVar15);
          MVar43 = TellBlob(pIVar40);
          lVar11 = MVar43 - MVar42;
          WriteBlobString(pIVar40,"\nendstream\n");
          WriteBlobString(pIVar40,"endobj\n");
          MVar42 = TellBlob(pIVar40);
          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);
          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;
          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),
                             (int)((ulonglong)(double)_local_61dc >> 0x20));
          WriteBlobString(pIVar40,buffer);
          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),
                             (int)((ulonglong)(double)lVar11 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,"endobj\n");
          MVar42 = TellBlob(pIVar40);
          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;
          local_61f4 = (ulonglong)(uVar18 + 3);
          dVar1 = (double)local_61f4;
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),
                             (int)((ulonglong)dVar1 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,"<<\n");
          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||
             (local_61a4 < B44Compression)) {
            WriteBlobString(pIVar40,">>\n");
          }
          else {
            if (local_61b8 == NoCompression) {
              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");
              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",
                                 SUB84(dVar1 + (double)DAT_0029f718,0),
                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));
              WriteBlobString(pIVar40,buffer);
              WriteBlobString(pIVar40,">>\n");
              WriteBlobString(pIVar40,"stream\n");
              local_61f4 = TellBlob(pIVar40);
              Ascii85Initialize(pIVar40);
              if (0 < (int)pIVar40->colors) goto LAB_002384f8;
LAB_00239b55:
              Ascii85Flush(pIVar40);
            }
            else {
              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",
                                 SUB84(dVar1 + (double)DAT_0029f718,0),
                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));
              WriteBlobString(pIVar40,buffer);
              WriteBlobString(pIVar40,">>\n");
              WriteBlobString(pIVar40,"stream\n");
              local_61f4 = TellBlob(pIVar40);
              if (0 < (int)pIVar40->colors) {
LAB_002384f8:
                iVar36 = 0;
                iVar16 = 0;
                do {
                  while( true ) {
                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);
                    uVar13 = '\0';
                    if (local_61b8 != NoCompression) break;
                    if (0.0 < fVar10) {
                      uVar13 = 0xff;
                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {
                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);
                      }
                    }
                    Ascii85Encode(pIVar40,uVar13);
                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);
                    uVar13 = '\0';
                    if (0.0 < dVar1) {
                      dVar1 = dVar1 / (double)DAT_002a7ff0;
                      uVar13 = 0xff;
                      if (dVar1 < (double)DAT_002a7ff4) {
                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                      }
                    }
                    Ascii85Encode(pIVar40,uVar13);
                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);
                    uVar13 = '\0';
                    if (0.0 < dVar1) {
                      dVar1 = dVar1 / (double)DAT_002a7ff0;
                      uVar13 = 0xff;
                      if (dVar1 < (double)DAT_002a7ff4) {
                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                      }
                    }
                    iVar16 = iVar16 + 1;
                    iVar36 = iVar36 + 0x50;
                    Ascii85Encode(pIVar40,uVar13);
                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;
                  }
                  if (0.0 < fVar10) {
                    uVar13 = 0xff;
                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {
                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);
                    }
                  }
                  WriteBlobByte(pIVar40,uVar13);
                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);
                  uVar13 = '\0';
                  if (0.0 < dVar1) {
                    dVar1 = dVar1 / (double)DAT_002a7ff0;
                    uVar13 = 0xff;
                    if (dVar1 < (double)DAT_002a7ff4) {
                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                    }
                  }
                  WriteBlobByte(pIVar40,uVar13);
                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);
                  uVar13 = '\0';
                  if (0.0 < dVar1) {
                    dVar1 = dVar1 / (double)DAT_002a7ff0;
                    uVar13 = 0xff;
                    if (dVar1 < (double)DAT_002a7ff4) {
                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                    }
                  }
                  iVar16 = iVar16 + 1;
                  iVar36 = iVar36 + 0x50;
                  WriteBlobByte(pIVar40,uVar13);
                } while (iVar16 < (int)pIVar40->colors);
              }
LAB_00238890:
              if (local_61b8 == NoCompression) goto LAB_00239b55;
            }
            MVar42 = TellBlob(pIVar40);
            lVar11 = MVar42 - local_61f4;
            WriteBlobString(pIVar40,"\nendstream\n");
          }
          _local_61dc = (longdouble)lVar11;
          WriteBlobString(pIVar40,"endobj\n");
          MVar42 = TellBlob(pIVar40);
          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;
          local_61f4 = (ulonglong)(uVar18 + 4);
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),
                             (int)((ulonglong)(double)local_61f4 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),
                             (int)((ulonglong)(double)lVar11 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,"endobj\n");
          MVar42 = TellBlob(pIVar40);
          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;
          local_61f4 = (ulonglong)(uVar18 + 5);
          dVar1 = (double)local_61f4;
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),
                             (int)((ulonglong)dVar1 >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,"<<\n");
          if (pIVar40->alpha_trait != UndefinedPixelTrait) {
            WriteBlobString(pIVar40,"/Type /XObject\n");
            WriteBlobString(pIVar40,"/Subtype /Image\n");
            uVar12 = auStack_61d8._4_2_;
            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);
            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);
            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),
                               (int)((ulonglong)(double)_local_61dc >> 0x20));
            WriteBlobString(pIVar40,buffer);
            if (local_61b8 == NoCompression) {
              pcVar23 = "ASCII85Decode";
            }
            else if (local_61b8 == ZipCompression) {
              pcVar23 = "FlateDecode";
            }
            else if (local_61b8 == LZWCompression) {
              pcVar23 = "LZWDecode";
            }
            else {
              pcVar23 = "RunLengthDecode";
            }
            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);
            WriteBlobString(pIVar40,buffer);
            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);
            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);
            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),
                               (int)((ulonglong)(double)_local_61dc >> 0x20));
            WriteBlobString(pIVar40,buffer);
            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);
            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);
            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),
                               (int)((ulonglong)(double)_local_61dc >> 0x20));
            WriteBlobString(pIVar40,buffer);
            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");
            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);
            WriteBlobString(pIVar40,buffer);
            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",
                               SUB84(dVar1 + (double)DAT_0029f718,0),
                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));
            WriteBlobString(pIVar40,buffer);
            WriteBlobString(pIVar40,">>\n");
            WriteBlobString(pIVar40,"stream\n");
            MVar42 = TellBlob(pIVar40);
            if (local_61b8 == NoCompression) {
              Ascii85Initialize(pIVar40);
              if (0 < (int)pIVar40->rows) {
                local_6224._0_4_ = (Image *)0x0;
                do {
                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns
                                             ,1,exception);
                  if (pQVar25 == (Quantum *)0x0) break;
                  if (0 < (int)pIVar40->columns) {
                    iVar16 = 0;
                    do {
                      uVar13 = 0xff;
                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {
                        uVar13 = '\0';
                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {
                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;
                          if ((double)DAT_002a7ff4 <= dVar1) {
                            uVar13 = 0xff;
                          }
                          else {
                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                          }
                        }
                      }
                      iVar16 = iVar16 + 1;
                      Ascii85Encode(pIVar40,uVar13);
                      pQVar25 = pQVar25 + pIVar40->number_channels;
                    } while (iVar16 < (int)pIVar40->columns);
                  }
                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);
                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);
              }
              Ascii85Flush(pIVar40);
LAB_00237731:
              MVar43 = TellBlob(pIVar40);
              WriteBlobString(pIVar40,"\nendstream\n");
              _local_61dc = (longdouble)(MVar43 - MVar42);
              goto LAB_00236be1;
            }
            sVar37 = pIVar40->rows * pIVar40->columns;
            pMVar26 = AcquireVirtualMemory(sVar37,4);
            if (pMVar26 != (MemoryInfo *)0x0) {
              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);
              if (0 < (int)pIVar40->rows) {
                local_6224._0_4_ = (Image *)0x0;
                puVar31 = puVar24;
                do {
                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns
                                             ,1,exception);
                  if (pQVar25 == (Quantum *)0x0) break;
                  puVar35 = puVar31;
                  puVar34 = puVar31;
                  if (0 < (int)pIVar40->columns) {
                    do {
                      puVar34 = puVar35 + 1;
                      uVar13 = 0xff;
                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {
                        uVar13 = '\0';
                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {
                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;
                          if ((double)DAT_002a7ff4 <= dVar1) {
                            uVar13 = 0xff;
                          }
                          else {
                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);
                          }
                        }
                      }
                      *puVar35 = uVar13;
                      pQVar25 = pQVar25 + pIVar40->number_channels;
                      puVar35 = puVar34;
                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);
                  }
                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);
                  puVar31 = puVar34;
                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);
              }
              if (local_61b8 == LZWCompression) {
                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);
              }
              else {
                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);
              }
              RelinquishVirtualMemory(pMVar26);
              if (MVar14 == MagickFalse) goto LAB_0023707e;
              goto LAB_00237731;
            }
            pIVar15 = DestroyImage(pIVar40);
            RelinquishMagickMemory(local_6200);
            ThrowMagickException
                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,
                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);
            p_Var8 = (_Image *)image_info->adjoin;
            pIVar40 = pIVar15;
            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {
              p_Var8 = pIVar20->previous;
              pIVar15 = p_Var8;
              pIVar40 = pIVar20;
            }
            CloseBlob(pIVar40);
            goto LAB_002345f8;
          }
          WriteBlobString(pIVar40,">>\n");
LAB_00236be1:
          WriteBlobString(pIVar40,"endobj\n");
          local_61f4._0_4_ = uVar18 + 6;
          MVar42 = TellBlob(pIVar40);
          local_61cc = (double)(ulonglong)(uint)local_61f4;
          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;
          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),
                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));
          WriteBlobString(pIVar40,buffer);
          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),
                             (int)((ulonglong)(double)_local_61dc >> 0x20));
          WriteBlobString(pIVar40,buffer);
          WriteBlobString(pIVar40,"endobj\n");
          pIVar15 = GetNextImageInList(pIVar40);
          local_6224._0_4_ = pIVar40;
          if (pIVar15 == (Image *)0x0) goto LAB_00239247;
          local_6224._0_4_ = SyncNextImageInList(pIVar40);
          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);
          _local_61dc = CONCAT44(iVar16,local_6144 + 1);
          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",
                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);
          if ((MVar14 == MagickFalse) ||
             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))
          goto LAB_00239247;
        } while( true );
      }
      while (pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0) {
        local_61ec = local_61ec + 1;
        pSVar17 = GetImageProfile(pIVar15,"icc");
        iVar36 = iVar16;
        if (pSVar17 != (StringInfo *)0x0) {
          iVar36 = iVar16 + 2;
        }
        iVar16 = iVar36 + 0xe;
        FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),
                           (int)((ulonglong)(double)iVar36 >> 0x20));
        WriteBlobString(image,buffer);
        pIVar15 = GetNextImageInList(pIVar15);
      }
      local_6200 = (uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8);
      if (local_6200 != (uint *)0x0) goto LAB_00234b1f;
      ThrowMagickException
                (exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,
                 "MemoryAllocationFailed","`%s\'",pcVar23);
      p_Var8 = (_Image *)image_info->adjoin;
      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {
        p_Var8 = pIVar15->previous;
        image = p_Var8;
        pIVar40 = pIVar15;
      }
    }
LAB_00239234:
    MVar14 = MagickFalse;
    CloseBlob(pIVar40);
  }
  goto LAB_002345fa;
LAB_00239247:
  MVar42 = TellBlob((Image *)local_6224);
  local_61fc = (ulonglong)(uVar18 + 7);
  dVar45 = (double)local_61fc;
  *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;
  uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);
  FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);
  WriteBlobString((Image *)local_6224,buffer);
  WriteBlobString((Image *)local_6224,"<<\n");
  iVar16 = LocaleCompare(pcVar28,"PDFA");
  if (iVar16 == 0) {
    pcVar23 = EscapeParenthesis(basename);
    FormatLocaleString(buffer,0x1000,"/Title (%s)\n",pcVar23);
    DestroyString(pcVar23);
  }
  else {
    sVar21 = UTF8ToUTF16((uchar *)basename,(wchar_t *)0x0);
    puVar33 = (uint *)basename;
    if (sVar21 == 0) {
      do {
        puVar32 = puVar33;
        uVar30 = *puVar32 + 0xfefefeff & ~*puVar32;
        uVar27 = uVar30 & 0x80808080;
        puVar33 = puVar32 + 1;
      } while (uVar27 == 0);
      bVar41 = (uVar30 & 0x8080) == 0;
      if (bVar41) {
        uVar27 = uVar27 >> 0x10;
      }
      if (bVar41) {
        puVar33 = (uint *)((int)puVar32 + 6);
      }
      puVar24 = (uchar *)((int)puVar33 +
                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename));
      utf16 = (wchar_t *)AcquireQuantumMemory((size_t)(puVar24 + 1),4);
      puVar31 = (uchar *)0x0;
      if (utf16 != (wchar_t *)0x0) {
        do {
          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);
          puVar31 = puVar31 + 1;
        } while (puVar24 + 1 != puVar31);
LAB_00239c56:
        builtin_strncpy(date,"0123456789ABCDEF",0x10);
        FormatLocaleString(buffer,0x1000,"/Title <");
        WriteBlobString((Image *)local_6224,buffer);
        if (0 < (int)puVar24) {
          pwVar38 = utf16;
          do {
            pwVar39 = pwVar38 + 1;
            WriteBlobByte((Image *)local_6224,'0');
            WriteBlobByte((Image *)local_6224,'0');
            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);
            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);
            pwVar38 = pwVar39;
          } while (pwVar39 != utf16 + (int)puVar24);
        }
        FormatLocaleString(buffer,0x1000,">\n");
        RelinquishMagickMemory(utf16);
      }
    }
    else {
      utf16 = (wchar_t *)AcquireQuantumMemory(sVar21 + 1,4);
      if (utf16 != (wchar_t *)0x0) {
        puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);
        goto LAB_00239c56;
      }
    }
  }
  WriteBlobString((Image *)local_6224,buffer);
  seconds = GetMagickTime();
  gmtime_r(&seconds,(tm *)&utc_time);
  FormatLocaleString(date,0x1000,"D:%04d%02d%02d%02d%02d%02d",utc_time.tm_year + 0x76c,
                     utc_time.tm_mon + 1,utc_time.tm_mday,utc_time.tm_hour,utc_time.tm_min,
                     utc_time.tm_sec);
  FormatLocaleString(buffer,0x1000,"/CreationDate (%s)\n",date);
  WriteBlobString((Image *)local_6224,buffer);
  FormatLocaleString(buffer,0x1000,"/ModDate (%s)\n",date);
  WriteBlobString((Image *)local_6224,buffer);
  pcVar23 = EscapeParenthesis("https://imagemagick.org");
  FormatLocaleString(buffer,0x1000,"/Producer (%s)\n",pcVar23);
  DestroyString(pcVar23);
  WriteBlobString((Image *)local_6224,buffer);
  WriteBlobString((Image *)local_6224,">>\n");
  WriteBlobString((Image *)local_6224,"endobj\n");
  MVar42 = TellBlob((Image *)local_6224);
  uVar27 = (uint)MVar42 - *local_6200;
  iVar36 = ((int)((ulonglong)MVar42 >> 0x20) - local_6200[1]) - (uint)((uint)MVar42 < *local_6200);
  iVar16 = LocaleCompare(pcVar28,"PDFA");
  if (iVar16 == 0) {
    bVar41 = 0xfffffff9 < uVar27;
    uVar27 = uVar27 + 6;
    iVar36 = iVar36 + (uint)bVar41;
  }
  local_61f4 = CONCAT44(iVar36 + (uint)(0xfffffff5 < uVar27),uVar27 + 10);
  WriteBlobString((Image *)local_6224,"xref\n");
  uVar48 = SUB84(dVar45 + (double)DAT_0029f718,0);
  uVar47 = (undefined4)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20);
  FormatLocaleString(buffer,0x1000,"0 %.20g\n",uVar48,uVar47);
  WriteBlobString((Image *)local_6224,buffer);
  WriteBlobString((Image *)local_6224,"0000000000 65535 f \n");
  if (0 < (int)(uVar18 + 7)) {
    puVar33 = local_6200;
    do {
      uVar27 = *puVar33;
      puVar33 = puVar33 + 2;
      FormatLocaleString(buffer,0x1000,"%010lu 00000 n \n",uVar27);
      WriteBlobString((Image *)local_6224,buffer);
    } while (local_6200 + uVar18 * 2 + 0xe != puVar33);
  }
  WriteBlobString((Image *)local_6224,"trailer\n");
  WriteBlobString((Image *)local_6224,"<<\n");
  FormatLocaleString(buffer,0x1000,"/Size %.20g\n",uVar48,uVar47);
  WriteBlobString((Image *)local_6224,buffer);
  FormatLocaleString(buffer,0x1000,"/Info %.20g 0 R\n",SUB84(dVar45,0),uVar46);
  WriteBlobString((Image *)local_6224,buffer);
  FormatLocaleString(buffer,0x1000,"/Root %.20g 0 R\n",0,0x3ff00000);
  WriteBlobString((Image *)local_6224,buffer);
  SignatureImage((Image *)local_6224,exception);
  pcVar23 = GetImageProperty((Image *)local_6224,"signature",exception);
  pcVar28 = GetImageProperty((Image *)local_6224,"signature",exception);
  FormatLocaleString(buffer,0x1000,"/ID [<%s> <%s>]\n",pcVar28,pcVar23);
  WriteBlobString((Image *)local_6224,buffer);
  WriteBlobString((Image *)local_6224,">>\n");
  WriteBlobString((Image *)local_6224,"startxref\n");
  FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(longlong)local_61f4,0),
                     (int)((ulonglong)(double)(longlong)local_61f4 >> 0x20));
  WriteBlobString((Image *)local_6224,buffer);
  MVar14 = MagickTrue;
  WriteBlobString((Image *)local_6224,"%%EOF\n");
  RelinquishMagickMemory(local_6200);
  CloseBlob((Image *)local_6224);
LAB_002345fa:
  if (iVar6 == *(int *)(in_GS_OFFSET + 0x14)) {
    return MVar14;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

int FUN_00234540(uint *param_1,int *param_2,char *param_3)

{
  float fVar1;
  float fVar2;
  int *piVar3;
  uint uVar4;
  int *piVar5;
  undefined1 uVar6;
  int iVar7;
  int *piVar8;
  uint *puVar9;
  uint uVar10;
  int iVar11;
  undefined4 uVar12;
  uint *puVar13;
  undefined1 *puVar14;
  int iVar15;
  char *pcVar16;
  uint uVar17;
  uint uVar18;
  char *pcVar19;
  uint *puVar20;
  char cVar21;
  undefined1 *puVar22;
  uint *puVar23;
  undefined1 *puVar24;
  int *piVar25;
  undefined8 *puVar26;
  int iVar27;
  undefined1 *puVar28;
  uint *puVar29;
  int iVar30;
  int *piVar31;
  int in_GS_OFFSET;
  bool bVar32;
  undefined2 in_FPUControlWord;
  undefined8 uVar33;
  char *pcVar34;
  undefined *puVar35;
  double dVar36;
  int *local_6224;
  char *local_620c;
  undefined8 *local_6200;
  int local_61f4;
  undefined8 local_61e4;
  int local_61dc;
  double local_61cc;
  ulonglong local_61c4;
  uint local_61b8;
  double local_61b4;
  uint *local_61a8;
  uint local_61a4;
  int local_6194;
  uint local_60cc;
  time_t local_60a8;
  uint local_60a4;
  uint local_60a0;
  int local_609c;
  int local_6098;
  undefined1 local_6094 [4];
  uint local_6090;
  undefined1 local_6084 [8];
  int local_607c;
  int local_6078;
  double local_6074;
  double local_606c;
  tm local_604c;
  uint local_6020 [1024];
  undefined1 local_5020 [4096];
  undefined1 auStack_4020 [4096];
  undefined1 auStack_3020 [4096];
  uint uStack_2020;
  undefined4 uStack_201c;
  undefined4 uStack_2018;
  undefined4 uStack_2014;
  undefined1 local_1020 [4096];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x234549;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == (uint *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");
  }
  if (param_1[0xc7d] != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,
                  "WritePDFImage");
  }
  if (param_2 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");
  }
  if (param_2[0xcd1] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");
  }
  if (param_2[0xcca] != 0) {
    LogMagickEvent();
  }
  if (param_3 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");
  }
  if (*(int *)(param_3 + 0x1c) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"
                 );
  }
  iVar7 = OpenBlob(param_1,param_2,4,param_3);
  if (iVar7 == 0) {
LAB_002345f8:
    iVar27 = 0;
  }
  else {
    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);
    piVar25 = param_2 + 0xc6;
    piVar31 = param_2;
    if (local_6200 == (undefined8 *)0x0) {
      pcVar34 = "`%s\'";
      pcVar19 = "MemoryAllocationFailed";
      ThrowMagickException();
      piVar8 = (int *)param_1[3];
      while (piVar5 = param_2, piVar8 != (int *)0x0) {
        piVar8 = (int *)piVar5[0xccf];
        param_2 = piVar8;
        piVar31 = piVar5;
      }
    }
    else {
      memset(local_6200,0,0x4000);
      piVar8 = param_2;
      do {
        piVar8 = (int *)GetNextImageInList(piVar8);
      } while (piVar8 != (int *)0x0);
      puVar9 = param_1 + 0x7c;
      LocaleCompare(puVar9,&DAT_002a2413);
      piVar8 = param_2;
      do {
        SetImageGray(piVar8,param_3);
        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);
        if (iVar7 != 0) {
          SetImageStorageClass(piVar8,1,param_3);
        }
        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {
          TransformImageColorspace(piVar8,0x17,param_3);
        }
        piVar8 = (int *)GetNextImageInList(piVar8);
      } while (piVar8 != (int *)0x0);
      iVar7 = GetImageOption(param_1,"pdf:version");
      if (iVar7 != 0) {
        InterpretLocaleValue(iVar7,0);
      }
      FormatLocaleString();
      WriteBlobString(param_2,local_5020);
      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);
      if (iVar7 == 0) {
        WriteBlobByte(param_2,0x25);
        WriteBlobByte(param_2,0xe2);
        WriteBlobByte(param_2,0xe3);
        WriteBlobByte(param_2,0xcf);
        WriteBlobByte(param_2,0xd3);
        WriteBlobByte(param_2,10);
      }
      uVar33 = TellBlob(param_2);
      *local_6200 = uVar33;
      FormatLocaleString();
      WriteBlobString(param_2,local_5020);
      WriteBlobString(param_2,"<<\n");
      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);
      if (iVar7 == 0) {
        FormatLocaleString();
        WriteBlobString(param_2,local_5020);
      }
      FormatLocaleString();
      WriteBlobString(param_2,local_5020);
      WriteBlobString(param_2,"/Type /Catalog");
      iVar7 = GetImageOption(param_1,"pdf:page-direction");
      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {
        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");
      }
      WriteBlobString(param_2,"\n");
      WriteBlobString(param_2,">>\n");
      WriteBlobString(param_2,"endobj\n");
      pcVar34 = (char *)local_6020;
      GetPathComponent(piVar25,5,local_6020);
      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);
      if (iVar7 == 0) {
        uVar33 = TellBlob(param_2);
        local_6200[1] = uVar33;
        FormatLocaleString();
        WriteBlobString(param_2,local_5020);
        WriteBlobString(param_2,"<<\n");
        WriteBlobString(param_2,"/Subtype /XML\n");
        auStack_3020[0] = 0;
        iVar7 = GetImageProperty(param_2,"date:modify",param_3);
        if (iVar7 != 0) {
          CopyMagickString(auStack_3020,iVar7,0x1000);
        }
        auStack_4020[0] = 0;
        iVar7 = GetImageProperty(param_2,"date:create",param_3);
        if (iVar7 != 0) {
          CopyMagickString(auStack_4020,iVar7,0x1000);
        }
        uVar12 = GetMagickTime();
        pcVar34 = (char *)&uStack_2020;
        FormatMagickTime(uVar12,0x1000,&uStack_2020);
        uVar12 = FUN_00234220();
        FormatLocaleString(local_1020,0x1000,
                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"
                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,
                           "https://imagemagick.org",uVar12,"https://imagemagick.org");
        DestroyString(uVar12);
        FormatLocaleString();
        WriteBlobString(param_2,local_5020);
        WriteBlobString(param_2,"/Type /Metadata\n");
        WriteBlobString(param_2,">>\nstream\n");
        WriteBlobString(param_2,local_1020);
        iVar27 = 0x10;
        WriteBlobString(param_2,"\nendstream\n");
        iVar7 = 0x12;
        WriteBlobString(param_2,"endobj\n");
        local_61f4 = 3;
      }
      else {
        iVar7 = 0x11;
        iVar27 = 8;
        local_61f4 = 2;
      }
      uVar33 = TellBlob(param_2);
      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;
      FormatLocaleString();
      WriteBlobString(param_2,local_5020);
      WriteBlobString(param_2,"<<\n");
      WriteBlobString(param_2,"/Type /Pages\n");
      FormatLocaleString();
      WriteBlobString(param_2,local_5020);
      piVar8 = param_2;
      if (param_1[3] == 0) {
LAB_00234b1f:
        WriteBlobString(param_2,"]\n");
        FormatLocaleString();
        WriteBlobString(param_2,local_5020);
        WriteBlobString(param_2,">>\n");
        WriteBlobString(param_2,"endobj\n");
        GetImageListLength(param_2);
        pcVar19 = "stream\n";
        local_6224 = param_2;
        do {
          piVar31 = local_6224;
          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);
          local_61a4 = *param_1;
          if (*param_1 == 0) {
            local_61a4 = local_6224[2];
          }
          local_61a8 = (uint *)(local_61a4 - 7);
          local_61b8 = local_61a4;
          switch(local_61a8) {
          case (uint *)0x0:
          case (uint *)0x1:
            iVar27 = SetImageMonochrome(local_6224,param_3);
            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;
            goto code_r0x00234e0c;
          default:
LAB_00235d0d:
            local_61a4 = (uint)local_61a8;
            break;
          case (uint *)0x4:
            pcVar34 = &UNK_00305907;
            goto code_r0x00234df2;
          case (uint *)0x5:
            pcVar34 = "`%s\' (JPEG)";
            ThrowMagickException();
            local_61a8 = (uint *)0xc;
            local_61b8 = 0x13;
            break;
          case (uint *)0x8:
            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);
            if (iVar27 == 0) goto code_r0x00234e0c;
            local_61a4 = 8;
            break;
          case (uint *)0x9:
            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);
            if (iVar27 == 0) goto code_r0x00234e0c;
            local_61a4 = 9;
            break;
          case (uint *)0xd:
            pcVar34 = "`%s\' (ZLIB)";
code_r0x00234df2:
            ThrowMagickException();
code_r0x00234e0c:
            local_61a4 = 0xc;
            local_61b8 = 0x13;
            local_61a8 = (uint *)0xc;
          }
          local_61b4 = *(double *)(local_6224 + 0x7c);
          local_61cc = *(double *)(local_6224 + 0x7e);
          if (local_61cc == 0.0) {
LAB_00234e74:
            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);
            local_61b4 = local_6074;
            local_61cc = local_6074;
            if ((uVar10 & 8) != 0) {
              local_61cc = local_606c;
            }
          }
          else {
            bVar32 = local_61cc == 0.0;
            if (local_61b4 == 0.0) {
              bVar32 = !NAN(local_61b4);
            }
            if (bVar32) goto LAB_00234e74;
          }
          if (param_1[0x15] != 0) {
            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);
            local_61b4 = local_6074;
            local_61cc = local_6074;
            if ((uVar10 & 8) != 0) {
              local_61cc = local_606c;
            }
          }
          if (local_6224[0x77] == 2) {
            local_61b4 = (double)((float)((longlong)
                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &
                                         0xffffffff) / DAT_0029f71c);
            local_61cc = (double)((float)((longlong)
                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &
                                         0xffffffff) / DAT_0029f71c);
          }
          SetGeometry(local_6224,&local_60a4);
          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);
          FormatLocaleString();
          if (param_1[8] == 0) {
            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {
              if ((local_6224[0x8e] != 0) &&
                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {
                CopyMagickString(local_1020,"612x792",0x1000);
              }
            }
            else {
              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",
                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],
                                 (double)local_6224[0x82],(double)local_6224[0x83]);
            }
          }
          else {
            CopyMagickString(local_1020,param_1[8],0x1000);
          }
          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);
          ParseMetaGeometry();
          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;
          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));
          local_60a4 = local_60cc;
          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;
          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);
          local_604c.tm_sec =
               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |
               0x400;
          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));
          local_60a0 = local_60cc;
          ParseAbsoluteGeometry(local_1020,local_6094);
          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);
          if (local_6224[0x8e] != 0) {
            local_609c = -local_607c;
            local_6098 = (local_6078 + local_6090) - local_6224[7];
          }
          local_61e4 = *(double *)(param_1 + 0x16);
          if (local_61e4 == 0.0) {
            local_61e4 = (double)DAT_002b1d90;
          }
          GetImageProperty(local_6224,"label",param_3);
          uVar33 = TellBlob(local_6224);
          local_61c4 = (ulonglong)(local_61f4 + 1);
          local_6200[local_61f4] = uVar33;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,"<<\n");
          WriteBlobString(local_6224,"/Type /Page\n");
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,"/Resources <<\n");
          piVar25 = (int *)0x0;
          iVar27 = GetImageProperty(local_6224,"label",param_3);
          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {
            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);
            FormatLocaleString();
            WriteBlobString(local_6224,local_5020,uVar12);
          }
          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020,uVar12);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          uVar12 = (undefined4)
                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>
                   0x20);
          dVar36 = (double)DAT_0029f120;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020,uVar12);
          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020,uVar12);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,">>\n");
          WriteBlobString(local_6224,"endobj\n");
          uVar33 = TellBlob(local_6224);
          local_6200[local_61f4 + 1] = uVar33;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,"<<\n");
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,">>\n");
          WriteBlobString(local_6224,"stream\n");
          TellBlob(local_6224);
          WriteBlobString(local_6224,&DAT_003059cb);
          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {
            iVar27 = 0;
            do {
              WriteBlobString(local_6224,&DAT_003059ce);
              uVar12 = local_61e4._4_4_;
              FormatLocaleString();
              WriteBlobString(local_6224,local_5020,uVar12);
              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);
              uVar12 = (undefined4)
                       ((ulonglong)
                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +
                        (double)DAT_002b1d90) >> 0x20);
              FormatLocaleString();
              WriteBlobString(local_6224,local_5020,uVar12);
              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);
              WriteBlobString(local_6224,local_5020);
              WriteBlobString(local_6224,&DAT_003059fa);
              iVar11 = DestroyString(piVar25[iVar27]);
              piVar25[iVar27] = iVar11;
              iVar27 = iVar27 + 1;
            } while (piVar25[iVar27] != 0);
          }
          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,
                             (double)fVar1,(double)local_609c,(double)local_6098);
          WriteBlobString(local_6224,local_5020);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,&DAT_00305a25);
          TellBlob(local_6224);
          WriteBlobString(local_6224,"\nendstream\n");
          WriteBlobString(local_6224,"endobj\n");
          uVar33 = TellBlob(local_6224);
          local_6200[local_61f4 + 2] = uVar33;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,"endobj\n");
          uVar33 = TellBlob(local_6224);
          local_6200[local_61f4 + 3] = uVar33;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {
            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);
          }
          else if (local_61a4 < 2) {
            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);
          }
          else {
            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);
          }
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224," ]\n");
          WriteBlobString(local_6224,"endobj\n");
          uVar33 = TellBlob(local_6224);
          local_6200[local_61f4 + 4] = uVar33;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,"<<\n");
          if (piVar25 != (int *)0x0) {
            WriteBlobString(local_6224,"/Type /Font\n");
            WriteBlobString(local_6224,"/Subtype /Type1\n");
            FormatLocaleString();
            WriteBlobString(local_6224,local_5020);
            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");
            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");
            RelinquishMagickMemory(piVar25);
          }
          WriteBlobString(local_6224,">>\n");
          WriteBlobString(local_6224,"endobj\n");
          uVar33 = TellBlob(local_6224);
          local_6200[local_61f4 + 5] = uVar33;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,"<<\n");
          WriteBlobString(local_6224,"/Type /XObject\n");
          WriteBlobString(local_6224,"/Subtype /Image\n");
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          switch(local_61a8) {
          case (uint *)0x0:
          case (uint *)0x1:
            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);
            WriteBlobString(local_6224,local_5020);
            local_61cc = (double)(ulonglong)(uint)local_6224[7];
            dVar36 = (double)(longlong)local_61cc;
            FormatLocaleString();
            goto LAB_0023602b;
          default:
            pcVar34 = "RunLengthDecode";
            pcVar16 = "/Filter [ /%s ]\n";
            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");
            dVar36 = (double)CONCAT44(pcVar34,pcVar16);
LAB_0023602b:
            WriteBlobString(local_6224,local_5020,dVar36);
            FormatLocaleString();
            WriteBlobString(local_6224,local_5020);
            FormatLocaleString();
            WriteBlobString(local_6224,local_5020);
            FormatLocaleString();
            WriteBlobString(local_6224,local_5020);
            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;
            goto LAB_00235dee;
          case (uint *)0x4:
            pcVar34 = "JPXDecode";
            goto code_r0x00235f5e;
          case (uint *)0x5:
            pcVar34 = "DCTDecode";
code_r0x00235f5e:
            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);
            if (local_6224[1] == 2) {
              WriteBlobString(local_6224,local_5020);
              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);
            }
            goto code_r0x00235d3f;
          case (uint *)0x8:
            pcVar34 = "LZWDecode";
            break;
          case (uint *)0x9:
            pcVar34 = "ASCII85Decode";
            break;
          case (uint *)0xd:
            pcVar34 = "FlateDecode";
          }
          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);
code_r0x00235d3f:
          WriteBlobString(local_6224,local_5020);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          local_61cc._0_4_ = 8;
LAB_00235dee:
          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);
          WriteBlobString(local_6224,local_5020);
          if (local_6224[0xa5] != 0) {
            FormatLocaleString();
            WriteBlobString(local_6224,local_5020);
          }
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,">>\n");
          pcVar34 = pcVar19;
          WriteBlobString(local_6224,"stream\n");
          TellBlob(local_6224);
          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);
          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)
              != 0 || uVar10 >> 0x1e != 0) {
            RelinquishMagickMemory(local_6200);
            piVar25 = local_6224 + 0xc6;
            pcVar34 = "`%s\'";
            pcVar19 = "MemoryAllocationFailed";
            ThrowMagickException();
            piVar8 = (int *)param_1[3];
            while (piVar5 = local_6224, piVar8 != (int *)0x0) {
              piVar8 = (int *)piVar5[0xccf];
              local_6224 = piVar8;
              piVar31 = piVar5;
            }
            goto LAB_00239234;
          }
          if (1 < local_61a4) {
            if ((param_1[0x6e] != 6) &&
               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {
              switch(local_61a8) {
              case (uint *)0x0:
              case (uint *)0x1:
                goto LAB_00238a00;
              default:
                local_6194 = AcquireVirtualMemory(uVar10,1);
                if (local_6194 != 0) {
                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);
                  if (0 < local_6224[7]) {
                    iVar27 = 0;
                    puVar28 = puVar14;
                    do {
                      iVar11 = GetVirtualPixels();
                      if (iVar11 == 0) break;
                      puVar24 = puVar28;
                      puVar22 = puVar28;
                      if (0 < local_6224[6]) {
                        do {
                          iVar15 = local_6224[0xaa];
                          puVar22 = puVar24 + 1;
                          uVar6 = 0;
                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *
                                  DAT_002b2404 +
                                  DAT_002b23fc *
                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +
                                  DAT_002b2400 *
                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);
                          if (0.0 < fVar1) {
                            fVar1 = fVar1 / DAT_002a7ff0;
                            uVar6 = 0xff;
                            if (fVar1 < DAT_002a7ff4) {
                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);
                            }
                          }
                          *puVar24 = uVar6;
                          iVar11 = iVar11 + local_6224[0xa6] * 8;
                          puVar24 = puVar22;
                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);
                      }
                      iVar11 = local_6224[7];
                      if (local_6224[0xccf] == 0) {
                        iVar11 = SetImageProgress();
                        if (iVar11 == 0) break;
                        iVar11 = local_6224[7];
                      }
                      iVar27 = iVar27 + 1;
                      puVar28 = puVar22;
                    } while (iVar27 < iVar11);
                  }
                  goto LAB_00237039;
                }
                RelinquishMagickMemory(local_6200);
                piVar25 = local_6224 + 0xc6;
                pcVar34 = "`%s\'";
                pcVar19 = "MemoryAllocationFailed";
                ThrowMagickException();
                piVar8 = (int *)param_1[3];
                while (piVar5 = local_6224, piVar8 != (int *)0x0) {
                  piVar8 = (int *)piVar5[0xccf];
                  local_6224 = piVar8;
                  piVar31 = piVar5;
                }
                goto LAB_00239234;
              case (uint *)0x4:
LAB_00236188:
                break;
              case (uint *)0x5:
LAB_00236760:
                break;
              case (uint *)0x9:
                Ascii85Initialize(local_6224);
                if (0 < local_6224[7]) {
                  local_6224 = (int *)0x0;
                  do {
                    pcVar34 = param_3;
                    iVar27 = GetVirtualPixels();
                    if (iVar27 == 0) break;
                    if (0 < piVar31[6]) {
                      iVar11 = 0;
                      do {
                        iVar15 = piVar31[0xaa];
                        pcVar34 = (char *)0x0;
                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *
                                DAT_002b2404 +
                                DAT_002b23fc *
                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +
                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)
                        ;
                        if (0.0 < fVar1) {
                          fVar1 = fVar1 / DAT_002a7ff0;
                          pcVar34 = (char *)0xff;
                          if (fVar1 < DAT_002a7ff4) {
                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);
                          }
                        }
                        iVar11 = iVar11 + 1;
                        Ascii85Encode(piVar31,pcVar34);
                        iVar27 = iVar27 + piVar31[0xa6] * 8;
                      } while (iVar11 < piVar31[6]);
                    }
                    iVar27 = piVar31[7];
                    if (piVar31[0xccf] == 0) {
                      pcVar34 = (char *)0x0;
                      iVar27 = SetImageProgress();
                      if (iVar27 == 0) break;
                      iVar27 = piVar31[7];
                    }
                    local_6224 = (int *)((int)local_6224 + 1);
                  } while ((int)local_6224 < iVar27);
                }
                goto LAB_002368f4;
              }
              iVar27 = InjectImageBlob();
joined_r0x002361ac:
              if (iVar27 != 0) goto LAB_002361b2;
              goto LAB_0023707e;
            }
            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {
              if (local_61b8 == 0xc) goto LAB_00236760;
              if (local_61b8 != 0x10) {
                if (local_61b8 == 0xb) goto LAB_00236188;
                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;
                local_6194 = AcquireVirtualMemory(iVar27,1);
                if (local_6194 == 0) {
                  RelinquishMagickMemory(local_6200);
                  piVar25 = local_6224 + 0xc6;
                  pcVar34 = "`%s\'";
                  pcVar19 = "MemoryAllocationFailed";
                  ThrowMagickException();
                  piVar8 = (int *)param_1[3];
                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {
                    piVar8 = (int *)piVar5[0xccf];
                    local_6224 = piVar8;
                    piVar31 = piVar5;
                  }
                  goto LAB_00239234;
                }
                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);
                if (0 < local_6224[7]) {
                  local_6224 = (int *)0x0;
                  puVar28 = puVar14;
                  do {
                    iVar11 = GetVirtualPixels();
                    if (iVar11 == 0) break;
                    if (0 < piVar31[6]) {
                      iVar15 = 0;
                      puVar24 = puVar28;
                      do {
                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);
                        uVar6 = 0;
                        if (0.0 < dVar36) {
                          dVar36 = dVar36 / (double)DAT_002a7ff0;
                          uVar6 = 0xff;
                          if (dVar36 < (double)DAT_002a7ff4) {
                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                          }
                        }
                        *puVar24 = uVar6;
                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);
                        uVar6 = 0;
                        if (0.0 < dVar36) {
                          dVar36 = dVar36 / (double)DAT_002a7ff0;
                          uVar6 = 0xff;
                          if (dVar36 < (double)DAT_002a7ff4) {
                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                          }
                        }
                        puVar24[1] = uVar6;
                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);
                        uVar6 = 0;
                        if (0.0 < dVar36) {
                          dVar36 = dVar36 / (double)DAT_002a7ff0;
                          uVar6 = 0xff;
                          if (dVar36 < (double)DAT_002a7ff4) {
                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                          }
                        }
                        puVar24[2] = uVar6;
                        if (piVar31[1] == 2) {
                          puVar28 = puVar24 + 4;
                          uVar6 = 0;
                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&
                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),
                             0.0 < dVar36)) {
                            dVar36 = dVar36 / (double)DAT_002a7ff0;
                            uVar6 = 0xff;
                            if (dVar36 < (double)DAT_002a7ff4) {
                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                            }
                          }
                          puVar24[3] = uVar6;
                        }
                        else {
                          puVar28 = puVar24 + 3;
                        }
                        iVar15 = iVar15 + 1;
                        iVar11 = iVar11 + piVar31[0xa6] * 8;
                        puVar24 = puVar28;
                      } while (iVar15 < piVar31[6]);
                    }
                    iVar11 = piVar31[7];
                    if (piVar31[0xccf] == 0) {
                      iVar11 = SetImageProgress();
                      if (iVar11 == 0) break;
                      iVar11 = piVar31[7];
                    }
                    local_6224 = (int *)((int)local_6224 + 1);
                  } while ((int)local_6224 < iVar11);
                }
                if (local_61b8 == 0xf) {
                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);
                }
                else {
                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);
                }
                goto LAB_00237064;
              }
              Ascii85Initialize(local_6224);
              if (0 < local_6224[7]) {
                local_6224 = (int *)0x0;
                do {
                  pcVar34 = param_3;
                  iVar27 = GetVirtualPixels();
                  if (iVar27 == 0) break;
                  if (0 < piVar31[6]) {
                    iVar11 = 0;
                    do {
                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);
                      uVar6 = 0;
                      if (0.0 < dVar36) {
                        dVar36 = dVar36 / (double)DAT_002a7ff0;
                        uVar6 = 0xff;
                        if (dVar36 < (double)DAT_002a7ff4) {
                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                        }
                      }
                      Ascii85Encode(piVar31,uVar6);
                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);
                      uVar6 = 0;
                      if (0.0 < dVar36) {
                        dVar36 = dVar36 / (double)DAT_002a7ff0;
                        uVar6 = 0xff;
                        if (dVar36 < (double)DAT_002a7ff4) {
                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                        }
                      }
                      Ascii85Encode(piVar31,uVar6);
                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);
                      pcVar34 = (char *)0x0;
                      if (0.0 < dVar36) {
                        dVar36 = dVar36 / (double)DAT_002a7ff0;
                        pcVar34 = (char *)0xff;
                        if (dVar36 < (double)DAT_002a7ff4) {
                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);
                        }
                      }
                      Ascii85Encode(piVar31,pcVar34);
                      if (piVar31[1] == 2) {
                        pcVar34 = (char *)0x0;
                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&
                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),
                           0.0 < dVar36)) {
                          dVar36 = dVar36 / (double)DAT_002a7ff0;
                          pcVar34 = (char *)0xff;
                          if (dVar36 < (double)DAT_002a7ff4) {
                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124
                                                                      );
                          }
                        }
                        Ascii85Encode(piVar31,pcVar34);
                      }
                      iVar11 = iVar11 + 1;
                      iVar27 = iVar27 + piVar31[0xa6] * 8;
                    } while (iVar11 < piVar31[6]);
                  }
                  iVar27 = piVar31[7];
                  if (piVar31[0xccf] == 0) {
                    pcVar34 = (char *)0x0;
                    iVar27 = SetImageProgress();
                    if (iVar27 == 0) break;
                    iVar27 = piVar31[7];
                  }
                  local_6224 = (int *)((int)local_6224 + 1);
                } while ((int)local_6224 < iVar27);
              }
            }
            else {
              if (local_61b8 != 0x10) {
                local_6194 = AcquireVirtualMemory(uVar10,1);
                if (local_6194 != 0) {
                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);
                  if (0 < local_6224[7]) {
                    local_6224 = (int *)0x0;
                    puVar28 = puVar14;
                    do {
                      iVar27 = GetVirtualPixels();
                      if (iVar27 == 0) break;
                      puVar24 = puVar28;
                      puVar22 = puVar28;
                      if (0 < piVar31[6]) {
                        do {
                          uVar6 = 0;
                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {
                            uVar6 = (undefined1)
                                    (int)ROUND(*(double *)
                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));
                          }
                          puVar22 = puVar24 + 1;
                          *puVar24 = uVar6;
                          iVar27 = iVar27 + piVar31[0xa6] * 8;
                          puVar24 = puVar22;
                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);
                      }
                      iVar27 = piVar31[7];
                      if (piVar31[0xccf] == 0) {
                        iVar27 = SetImageProgress();
                        if (iVar27 == 0) break;
                        iVar27 = piVar31[7];
                      }
                      local_6224 = (int *)((int)local_6224 + 1);
                      puVar28 = puVar22;
                    } while ((int)local_6224 < iVar27);
                  }
LAB_00237039:
                  if (local_61b8 == 0xf) {
                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);
                  }
                  else {
                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);
                  }
LAB_00237064:
                  RelinquishVirtualMemory(local_6194);
                  goto joined_r0x002361ac;
                }
                RelinquishMagickMemory(local_6200);
                piVar25 = local_6224 + 0xc6;
                pcVar34 = "`%s\'";
                pcVar19 = "MemoryAllocationFailed";
                ThrowMagickException();
                if (param_1[3] != 0) {
                  piVar8 = (int *)local_6224[0xccf];
                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {
                    piVar31 = piVar5;
                    piVar8 = (int *)piVar5[0xccf];
                  }
                }
                goto LAB_00239234;
              }
              Ascii85Initialize(local_6224);
              if (0 < local_6224[7]) {
                local_6224 = (int *)0x0;
                do {
                  pcVar34 = param_3;
                  iVar27 = GetVirtualPixels();
                  if (iVar27 == 0) break;
                  if (0 < piVar31[6]) {
                    iVar11 = 0;
                    do {
                      pcVar34 = (char *)0x0;
                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {
                        pcVar34 = (char *)((int)ROUND(*(double *)
                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)
                                                     ) & 0xff);
                      }
                      iVar11 = iVar11 + 1;
                      Ascii85Encode(piVar31,pcVar34);
                      iVar27 = iVar27 + piVar31[0xa6] * 8;
                    } while (iVar11 < piVar31[6]);
                  }
                  iVar27 = piVar31[7];
                  if (piVar31[0xccf] == 0) {
                    pcVar34 = (char *)0x0;
                    iVar27 = SetImageProgress();
                    if (iVar27 == 0) break;
                    iVar27 = piVar31[7];
                  }
                  local_6224 = (int *)((int)local_6224 + 1);
                } while ((int)local_6224 < iVar27);
              }
            }
LAB_002368f4:
            Ascii85Flush(piVar31,pcVar34);
            goto LAB_002361b2;
          }
LAB_00238a00:
          iVar27 = LocaleCompare("0","0");
          if (iVar27 == 0) {
            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);
          }
          else {
            FUN_00233f80(param_3);
          }
LAB_002361b2:
          TellBlob(piVar31);
          WriteBlobString(piVar31,"\nendstream\n");
          WriteBlobString(piVar31,"endobj\n");
          uVar33 = TellBlob(piVar31);
          local_6200[local_61f4 + 6] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"endobj\n");
          uVar10 = local_61f4 + 8;
          uVar33 = TellBlob(piVar31);
          local_6200[local_61f4 + 7] = uVar33;
          local_61c4 = (ulonglong)uVar10;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          local_620c = "endobj\n";
          if (piVar31[1] == 2) {
            if (iVar7 != 0) {
              pcVar34 = "DeviceCMYK";
              goto LAB_0023814a;
            }
            pcVar34 = "DeviceCMYK";
LAB_0023632d:
            puVar35 = &UNK_00305bee;
            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);
            dVar36 = (double)CONCAT44(pcVar34,puVar35);
LAB_00236346:
            WriteBlobString(piVar31,local_5020,dVar36);
          }
          else {
            if ((local_61a4 < 2) ||
               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {
              pcVar34 = "DeviceGray";
              if (iVar7 == 0) goto LAB_0023632d;
              pcVar34 = "DeviceGray";
            }
            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {
              pcVar34 = "DeviceRGB";
              if (iVar7 == 0) goto LAB_0023632d;
            }
            else {
              if (iVar7 == 0) {
                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;
                FormatLocaleString();
                goto LAB_00236346;
              }
              pcVar34 = "DeviceRGB";
            }
LAB_0023814a:
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            WriteBlobString(piVar31,"endobj\n");
            uVar33 = TellBlob(piVar31);
            local_6200[local_61f4 + 8] = uVar33;
            local_61e4 = (double)(ulonglong)(local_61f4 + 9);
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);
            TellBlob(piVar31);
            Ascii85Initialize(piVar31);
            iVar27 = GetStringInfoDatum(iVar7);
            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;
                iVar11 = iVar11 + 1) {
              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));
            }
            Ascii85Flush(piVar31);
            TellBlob(piVar31);
            WriteBlobString(piVar31,"endstream\n");
            WriteBlobString(piVar31,"endobj\n");
            uVar10 = local_61f4 + 10;
            uVar33 = TellBlob(piVar31);
            local_6200[local_61f4 + 9] = uVar33;
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            dVar36 = (double)CONCAT44(pcVar34,uVar12);
          }
          WriteBlobString(piVar31,"endobj\n",dVar36);
          SetGeometry(piVar31,&local_60a4);
          ParseMetaGeometry();
          uVar12 = GetImageOption(param_1,"pdf:thumbnail");
          iVar7 = IsStringTrue(uVar12);
          if (iVar7 == 0) {
            ParseMetaGeometry();
          }
          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);
          if (puVar13 == (uint *)0x0) goto LAB_002345f8;
          uVar33 = TellBlob(piVar31);
          local_6200[uVar10] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"<<\n");
          switch(local_61a8) {
          case (uint *)0x0:
          case (uint *)0x1:
            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);
            WriteBlobString(piVar31,local_5020);
            local_61c4 = (ulonglong)puVar13[7];
            dVar36 = (double)local_61c4;
            FormatLocaleString();
            goto code_r0x0023649f;
          default:
            pcVar34 = "RunLengthDecode";
            break;
          case (uint *)0x4:
            pcVar34 = "JPXDecode";
            goto code_r0x00236676;
          case (uint *)0x5:
            pcVar34 = "DCTDecode";
code_r0x00236676:
            pcVar16 = "/Filter [ /%s ]\n";
            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);
            dVar36 = (double)CONCAT44(pcVar34,pcVar16);
            if (puVar13[1] == 2) {
              WriteBlobString(piVar31,local_5020);
              uVar12 = 0x1000;
              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);
              dVar36 = (double)CONCAT44(pcVar34,uVar12);
            }
            goto code_r0x0023649f;
          case (uint *)0x8:
            pcVar34 = "LZWDecode";
            break;
          case (uint *)0x9:
            pcVar34 = "ASCII85Decode";
            break;
          case (uint *)0xd:
            pcVar34 = "FlateDecode";
          }
          pcVar16 = "/Filter [ /%s ]\n";
          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);
          dVar36 = (double)CONCAT44(pcVar34,pcVar16);
code_r0x0023649f:
          WriteBlobString(piVar31,local_5020,dVar36);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          pcVar34 = "/BitsPerComponent %d\n";
          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,">>\n");
          pcVar16 = pcVar19;
          WriteBlobString(piVar31,"stream\n");
          TellBlob(piVar31);
          if (local_61a4 < 2) {
LAB_00238a40:
            iVar7 = LocaleCompare("0","0");
            if (iVar7 == 0) {
              pcVar34 = (char *)puVar13;
              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);
            }
            else {
              FUN_00233f80(param_3);
            }
            goto LAB_00236939;
          }
          iVar7 = puVar13[7] * puVar13[6];
          if ((param_1[0x6e] == 6) ||
             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {
            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {
              if (local_61b8 == 0x10) {
                Ascii85Initialize(piVar31);
                if (0 < (int)puVar13[7]) {
                  local_61dc = 0;
                  do {
                    pcVar16 = param_3;
                    iVar7 = GetVirtualPixels();
                    if (iVar7 == 0) break;
                    if (0 < (int)puVar13[6]) {
                      iVar27 = 0;
                      do {
                        pcVar16 = (char *)0x0;
                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {
                          pcVar16 = (char *)((int)ROUND(*(double *)
                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8
                                                         )) & 0xff);
                        }
                        iVar27 = iVar27 + 1;
                        Ascii85Encode(piVar31,pcVar16);
                        iVar7 = iVar7 + piVar31[0xa6] * 8;
                      } while (iVar27 < (int)puVar13[6]);
                    }
                    local_61dc = local_61dc + 1;
                  } while (local_61dc < (int)puVar13[7]);
                }
                goto LAB_00236e87;
              }
              local_61dc = AcquireVirtualMemory(iVar7,1);
              if (local_61dc != 0) {
                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);
                if (0 < (int)puVar13[7]) {
                  iVar27 = 0;
                  puVar29 = local_61a8;
                  do {
                    iVar11 = GetVirtualPixels();
                    if (iVar11 == 0) break;
                    puVar20 = puVar29;
                    puVar23 = puVar29;
                    if (0 < (int)puVar13[6]) {
                      do {
                        cVar21 = '\0';
                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {
                          cVar21 = (char)(int)ROUND(*(double *)
                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));
                        }
                        puVar23 = (uint *)((int)puVar20 + 1);
                        *(char *)puVar20 = cVar21;
                        iVar11 = iVar11 + puVar13[0xa6] * 8;
                        puVar20 = puVar23;
                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);
                    }
                    iVar27 = iVar27 + 1;
                    puVar29 = puVar23;
                  } while (iVar27 < (int)puVar13[7]);
                }
                goto LAB_0023720b;
              }
              DestroyImage(puVar13);
              RelinquishMagickMemory(local_6200);
              piVar25 = piVar31 + 0xc6;
              pcVar34 = "`%s\'";
              pcVar19 = "MemoryAllocationFailed";
              ThrowMagickException();
              if (param_1[3] != 0) {
                piVar8 = (int *)piVar31[0xccf];
                while (piVar5 = piVar8, piVar5 != (int *)0x0) {
                  piVar31 = piVar5;
                  piVar8 = (int *)piVar5[0xccf];
                }
              }
              goto LAB_00239234;
            }
            if (local_61b8 == 0xc) goto LAB_00236910;
            if (local_61b8 == 0x10) {
              Ascii85Initialize(piVar31);
              if ((int)puVar13[7] < 1) goto LAB_00236e87;
              iVar7 = 0;
              do {
                pcVar16 = param_3;
                iVar27 = GetVirtualPixels();
                if (iVar27 == 0) break;
                if (0 < (int)puVar13[6]) {
                  local_6224 = (int *)0x0;
                  do {
                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);
                    uVar6 = 0;
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      uVar6 = 0xff;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    Ascii85Encode(piVar31,uVar6);
                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);
                    uVar6 = 0;
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      uVar6 = 0xff;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    Ascii85Encode(piVar31,uVar6);
                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);
                    pcVar16 = (char *)0x0;
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      pcVar16 = (char *)0xff;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    Ascii85Encode(piVar31,pcVar16);
                    if (piVar31[1] == 2) {
                      pcVar16 = (char *)0x0;
                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&
                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),
                         0.0 < dVar36)) {
                        dVar36 = dVar36 / (double)DAT_002a7ff0;
                        pcVar16 = (char *)0xff;
                        if (dVar36 < (double)DAT_002a7ff4) {
                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);
                        }
                      }
                      Ascii85Encode(piVar31,pcVar16);
                    }
                    local_6224 = (int *)((int)local_6224 + 1);
                    iVar27 = iVar27 + puVar13[0xa6] * 8;
                  } while ((int)local_6224 < (int)puVar13[6]);
                }
                iVar7 = iVar7 + 1;
              } while (iVar7 < (int)puVar13[7]);
              Ascii85Flush(piVar31,pcVar16);
              goto LAB_00236939;
            }
            if (local_61b8 == 0xb) goto LAB_00236d20;
            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);
            iVar27 = AcquireVirtualMemory(iVar7,4);
            if (iVar27 == 0) {
              DestroyImage(puVar13);
              RelinquishMagickMemory(local_6200);
              piVar25 = piVar31 + 0xc6;
              pcVar34 = "`%s\'";
              pcVar19 = "MemoryAllocationFailed";
              ThrowMagickException();
              piVar8 = (int *)param_1[3];
              piVar5 = piVar31;
              while (piVar3 = piVar5, piVar8 != (int *)0x0) {
                piVar8 = (int *)piVar3[0xccf];
                piVar5 = piVar8;
                piVar31 = piVar3;
              }
              goto LAB_00239234;
            }
            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);
            if (0 < (int)puVar13[7]) {
              iVar11 = 0;
              puVar29 = (uint *)pcVar34;
              do {
                iVar15 = GetVirtualPixels();
                if (iVar15 == 0) break;
                if (0 < (int)puVar13[6]) {
                  iVar30 = 0;
                  puVar20 = puVar29;
                  do {
                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);
                    cVar21 = '\0';
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      cVar21 = -1;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    *(char *)puVar20 = cVar21;
                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);
                    cVar21 = '\0';
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      cVar21 = -1;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    *(char *)((int)puVar20 + 1) = cVar21;
                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);
                    cVar21 = '\0';
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      cVar21 = -1;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    *(char *)((int)puVar20 + 2) = cVar21;
                    if (puVar13[1] == 2) {
                      puVar29 = puVar20 + 1;
                      cVar21 = '\0';
                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&
                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),
                         0.0 < dVar36)) {
                        dVar36 = dVar36 / (double)DAT_002a7ff0;
                        cVar21 = -1;
                        if (dVar36 < (double)DAT_002a7ff4) {
                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);
                        }
                      }
                      *(char *)((int)puVar20 + 3) = cVar21;
                    }
                    else {
                      puVar29 = (uint *)((int)puVar20 + 3);
                    }
                    iVar30 = iVar30 + 1;
                    iVar15 = iVar15 + puVar13[0xa6] * 8;
                    puVar20 = puVar29;
                  } while (iVar30 < (int)puVar13[6]);
                }
                iVar11 = iVar11 + 1;
              } while (iVar11 < (int)puVar13[7]);
            }
            if (local_61b8 == 0xf) {
              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);
            }
            else {
              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);
            }
            RelinquishVirtualMemory(iVar27);
            if (iVar7 != 0) goto LAB_00236939;
            iVar27 = 0;
LAB_0023707e:
            RelinquishMagickMemory(local_6200);
            CloseBlob(piVar31);
            goto LAB_002345fa;
          }
          switch(local_61a8) {
          case (uint *)0x0:
          case (uint *)0x1:
            goto LAB_00238a40;
          default:
            local_61dc = AcquireVirtualMemory(iVar7,1);
            if (local_61dc != 0) {
              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);
              if (0 < (int)puVar13[7]) {
                iVar27 = 0;
                puVar29 = local_61a8;
                do {
                  iVar11 = GetVirtualPixels();
                  if (iVar11 == 0) break;
                  puVar20 = puVar29;
                  puVar23 = puVar29;
                  if (0 < (int)puVar13[6]) {
                    do {
                      uVar18 = puVar13[0xaa];
                      puVar23 = (uint *)((int)puVar20 + 1);
                      cVar21 = '\0';
                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *
                              DAT_002b2404 +
                              DAT_002b23fc *
                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +
                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);
                      if (0.0 < fVar1) {
                        fVar1 = fVar1 / DAT_002a7ff0;
                        cVar21 = -1;
                        if (fVar1 < DAT_002a7ff4) {
                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);
                        }
                      }
                      *(char *)puVar20 = cVar21;
                      iVar11 = iVar11 + puVar13[0xa6] * 8;
                      puVar20 = puVar23;
                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);
                  }
                  iVar27 = iVar27 + 1;
                  puVar29 = puVar23;
                } while (iVar27 < (int)puVar13[7]);
              }
LAB_0023720b:
              if (local_61b8 == 0xf) {
                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);
                pcVar34 = (char *)local_61a8;
              }
              else {
                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);
                pcVar34 = (char *)local_61a8;
              }
              RelinquishVirtualMemory(local_61dc);
              if (iVar7 == 0) {
                iVar27 = 0;
                goto LAB_0023707e;
              }
              goto LAB_00236939;
            }
            DestroyImage(puVar13);
            RelinquishMagickMemory(local_6200);
            piVar25 = piVar31 + 0xc6;
            pcVar34 = "`%s\'";
            pcVar19 = "MemoryAllocationFailed";
            ThrowMagickException();
            piVar8 = (int *)param_1[3];
            piVar5 = piVar31;
            while (piVar3 = piVar5, piVar8 != (int *)0x0) {
              piVar8 = (int *)piVar3[0xccf];
              piVar5 = piVar8;
              piVar31 = piVar3;
            }
            goto LAB_00239234;
          case (uint *)0x4:
LAB_00236d20:
            break;
          case (uint *)0x5:
LAB_00236910:
            break;
          case (uint *)0x9:
            Ascii85Initialize(piVar31);
            if (0 < (int)puVar13[7]) {
              iVar7 = 0;
              do {
                pcVar16 = param_3;
                iVar27 = GetVirtualPixels();
                if (iVar27 == 0) break;
                if (0 < (int)puVar13[6]) {
                  iVar11 = 0;
                  do {
                    uVar18 = puVar13[0xaa];
                    pcVar16 = (char *)0x0;
                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404
                            + DAT_002b23fc *
                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +
                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);
                    if (0.0 < fVar1) {
                      fVar1 = fVar1 / DAT_002a7ff0;
                      pcVar16 = (char *)0xff;
                      if (fVar1 < DAT_002a7ff4) {
                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);
                      }
                    }
                    iVar11 = iVar11 + 1;
                    Ascii85Encode(piVar31,pcVar16);
                    iVar27 = iVar27 + puVar13[0xa6] * 8;
                  } while (iVar11 < (int)puVar13[6]);
                }
                iVar7 = iVar7 + 1;
              } while (iVar7 < (int)puVar13[7]);
            }
LAB_00236e87:
            Ascii85Flush(piVar31,pcVar16);
            goto LAB_00236939;
          }
          iVar27 = InjectImageBlob();
          if (iVar27 == 0) goto LAB_0023707e;
LAB_00236939:
          DestroyImage(puVar13);
          TellBlob(piVar31);
          WriteBlobString(piVar31,"\nendstream\n");
          WriteBlobString(piVar31,"endobj\n");
          uVar33 = TellBlob(piVar31);
          local_6200[uVar10 + 1] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"endobj\n");
          uVar33 = TellBlob(piVar31);
          local_6200[uVar10 + 2] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"<<\n");
          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {
            WriteBlobString(piVar31,">>\n");
          }
          else {
            if (local_61b8 == 0x10) {
              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");
              FormatLocaleString();
              WriteBlobString(piVar31,local_5020);
              WriteBlobString(piVar31,">>\n");
              WriteBlobString(piVar31,"stream\n");
              TellBlob(piVar31);
              Ascii85Initialize(piVar31);
              if (0 < piVar31[9]) goto LAB_002384f8;
LAB_00239b55:
              Ascii85Flush(piVar31);
            }
            else {
              FormatLocaleString();
              WriteBlobString(piVar31,local_5020);
              WriteBlobString(piVar31,">>\n");
              WriteBlobString(piVar31,"stream\n");
              TellBlob(piVar31);
              if (0 < piVar31[9]) {
LAB_002384f8:
                iVar27 = 0;
                iVar7 = 0;
                do {
                  while( true ) {
                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);
                    uVar6 = 0;
                    if (local_61b8 != 0x10) break;
                    if (0.0 < fVar1) {
                      uVar6 = 0xff;
                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {
                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);
                      }
                    }
                    Ascii85Encode(piVar31,uVar6);
                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);
                    uVar6 = 0;
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      uVar6 = 0xff;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    Ascii85Encode(piVar31,uVar6);
                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);
                    uVar6 = 0;
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      uVar6 = 0xff;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    iVar7 = iVar7 + 1;
                    iVar27 = iVar27 + 0x50;
                    Ascii85Encode(piVar31,uVar6);
                    if (piVar31[9] <= iVar7) goto LAB_00238890;
                  }
                  if (0.0 < fVar1) {
                    uVar6 = 0xff;
                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {
                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);
                    }
                  }
                  WriteBlobByte(piVar31,uVar6);
                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);
                  uVar6 = 0;
                  if (0.0 < dVar36) {
                    dVar36 = dVar36 / (double)DAT_002a7ff0;
                    uVar6 = 0xff;
                    if (dVar36 < (double)DAT_002a7ff4) {
                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                    }
                  }
                  WriteBlobByte(piVar31,uVar6);
                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);
                  uVar6 = 0;
                  if (0.0 < dVar36) {
                    dVar36 = dVar36 / (double)DAT_002a7ff0;
                    uVar6 = 0xff;
                    if (dVar36 < (double)DAT_002a7ff4) {
                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                    }
                  }
                  iVar7 = iVar7 + 1;
                  iVar27 = iVar27 + 0x50;
                  WriteBlobByte(piVar31,uVar6);
                } while (iVar7 < piVar31[9]);
              }
LAB_00238890:
              if (local_61b8 == 0x10) goto LAB_00239b55;
            }
            TellBlob(piVar31);
            WriteBlobString(piVar31,"\nendstream\n");
          }
          WriteBlobString(piVar31,"endobj\n");
          uVar33 = TellBlob(piVar31);
          local_6200[uVar10 + 3] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"endobj\n");
          uVar33 = TellBlob(piVar31);
          local_6200[uVar10 + 4] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"<<\n");
          if (piVar31[0xa5] != 0) {
            WriteBlobString(piVar31,"/Type /XObject\n");
            WriteBlobString(piVar31,"/Subtype /Image\n");
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            if (local_61b8 == 0x10) {
              pcVar34 = "ASCII85Decode";
            }
            else if (local_61b8 == 0x14) {
              pcVar34 = "FlateDecode";
            }
            else if (local_61b8 == 0xf) {
              pcVar34 = "LZWDecode";
            }
            else {
              pcVar34 = "RunLengthDecode";
            }
            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);
            WriteBlobString(piVar31,local_5020);
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");
            pcVar34 = "/BitsPerComponent %d\n";
            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);
            WriteBlobString(piVar31,local_5020);
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            WriteBlobString(piVar31,">>\n");
            pcVar16 = pcVar19;
            WriteBlobString(piVar31,"stream\n");
            TellBlob(piVar31);
            if (local_61b8 == 0x10) {
              Ascii85Initialize(piVar31);
              if (0 < piVar31[7]) {
                local_6224 = (int *)0x0;
                do {
                  pcVar16 = param_3;
                  iVar7 = GetVirtualPixels();
                  if (iVar7 == 0) break;
                  if (0 < piVar31[6]) {
                    iVar27 = 0;
                    do {
                      pcVar16 = (char *)0xff;
                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {
                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);
                        pcVar16 = (char *)0x0;
                        if (0.0 < dVar36) {
                          dVar36 = dVar36 / (double)DAT_002a7ff0;
                          if ((double)DAT_002a7ff4 <= dVar36) {
                            pcVar16 = (char *)0xff;
                          }
                          else {
                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124
                                                                      );
                          }
                        }
                      }
                      iVar27 = iVar27 + 1;
                      Ascii85Encode(piVar31,pcVar16);
                      iVar7 = iVar7 + piVar31[0xa6] * 8;
                    } while (iVar27 < piVar31[6]);
                  }
                  local_6224 = (int *)((int)local_6224 + 1);
                } while ((int)local_6224 < piVar31[7]);
              }
              Ascii85Flush(piVar31,pcVar16);
LAB_00237731:
              TellBlob(piVar31);
              WriteBlobString(piVar31,"\nendstream\n");
              goto LAB_00236be1;
            }
            iVar7 = piVar31[7] * piVar31[6];
            iVar11 = AcquireVirtualMemory(iVar7,4);
            if (iVar11 != 0) {
              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);
              if (0 < piVar31[7]) {
                local_6224 = (int *)0x0;
                puVar13 = (uint *)pcVar34;
                do {
                  iVar27 = GetVirtualPixels();
                  if (iVar27 == 0) break;
                  puVar29 = puVar13;
                  puVar20 = puVar13;
                  if (0 < piVar31[6]) {
                    do {
                      puVar20 = (uint *)((int)puVar29 + 1);
                      cVar21 = -1;
                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {
                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);
                        cVar21 = '\0';
                        if (0.0 < dVar36) {
                          dVar36 = dVar36 / (double)DAT_002a7ff0;
                          if ((double)DAT_002a7ff4 <= dVar36) {
                            cVar21 = -1;
                          }
                          else {
                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);
                          }
                        }
                      }
                      *(char *)puVar29 = cVar21;
                      iVar27 = iVar27 + piVar31[0xa6] * 8;
                      puVar29 = puVar20;
                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);
                  }
                  local_6224 = (int *)((int)local_6224 + 1);
                  puVar13 = puVar20;
                } while ((int)local_6224 < piVar31[7]);
              }
              if (local_61b8 == 0xf) {
                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);
              }
              else {
                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);
              }
              RelinquishVirtualMemory(iVar11);
              if (iVar27 == 0) goto LAB_0023707e;
              goto LAB_00237731;
            }
            uVar17 = DestroyImage(piVar31);
            RelinquishMagickMemory(local_6200);
            iVar7 = uVar17 + 0x318;
            pcVar34 = "`%s\'";
            pcVar19 = "MemoryAllocationFailed";
            ThrowMagickException();
            uVar10 = param_1[3];
            uVar18 = uVar17;
            while (uVar4 = uVar17, uVar10 != 0) {
              uVar10 = *(uint *)(uVar4 + 0x333c);
              uVar17 = uVar10;
              uVar18 = uVar4;
            }
            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);
            goto LAB_002345f8;
          }
          WriteBlobString(piVar31,">>\n");
LAB_00236be1:
          WriteBlobString(piVar31,"endobj\n");
          local_61f4 = uVar10 + 6;
          uVar33 = TellBlob(piVar31);
          local_6200[uVar10 + 5] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"endobj\n");
          iVar7 = GetNextImageInList(piVar31);
          local_6224 = piVar31;
          if (iVar7 == 0) goto LAB_00239247;
          local_6224 = (int *)SyncNextImageInList(piVar31);
          local_620c = (char *)0x0;
          iVar7 = SetImageProgress();
          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;
        } while( true );
      }
      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {
        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);
        if (iVar27 != 0) {
          iVar7 = iVar7 + 2;
        }
        iVar7 = iVar7 + 0xe;
        FormatLocaleString();
        WriteBlobString(param_2,local_5020);
        piVar8 = (int *)GetNextImageInList(piVar8);
      }
      pcVar34 = (char *)0x8;
      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);
      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;
      pcVar34 = "`%s\'";
      pcVar19 = "MemoryAllocationFailed";
      ThrowMagickException();
      piVar8 = (int *)param_1[3];
      while (piVar5 = param_2, piVar8 != (int *)0x0) {
        piVar8 = (int *)piVar5[0xccf];
        param_2 = piVar8;
        piVar31 = piVar5;
      }
    }
LAB_00239234:
    iVar27 = 0;
    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);
  }
  goto LAB_002345fa;
LAB_00239247:
  uVar33 = TellBlob(local_6224,local_620c);
  local_6200[local_61f4] = uVar33;
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  WriteBlobString(local_6224,"<<\n");
  iVar7 = LocaleCompare(puVar9,&DAT_002a2413);
  if (iVar7 == 0) {
    uVar12 = FUN_00234220();
    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);
    DestroyString(uVar12);
  }
  else {
    iVar7 = FUN_00234080();
    puVar13 = local_6020;
    if (iVar7 == 0) {
      do {
        puVar29 = puVar13;
        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;
        uVar18 = uVar17 & 0x80808080;
        puVar13 = puVar29 + 1;
      } while (uVar18 == 0);
      bVar32 = (uVar17 & 0x8080) == 0;
      if (bVar32) {
        uVar18 = uVar18 >> 0x10;
      }
      if (bVar32) {
        puVar13 = (uint *)((int)puVar29 + 6);
      }
      pcVar34 = (char *)((int)puVar13 +
                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));
      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);
      pcVar19 = (char *)0x0;
      if (puVar13 != (uint *)0x0) {
        do {
          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);
          pcVar19 = pcVar19 + 1;
        } while (pcVar34 + 1 != pcVar19);
LAB_00239c56:
        uStack_2020 = 0x33323130;
        uStack_201c = 0x37363534;
        uStack_2018 = 0x42413938;
        uStack_2014 = 0x46454443;
        FormatLocaleString(local_5020,0x1000,"/Title <");
        WriteBlobString(local_6224,local_5020);
        if (0 < (int)pcVar34) {
          puVar29 = puVar13;
          do {
            puVar20 = puVar29 + 1;
            WriteBlobByte(local_6224,0x30);
            WriteBlobByte(local_6224,0x30);
            WriteBlobByte(local_6224,
                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));
            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));
            puVar29 = puVar20;
          } while (puVar20 != puVar13 + (int)pcVar34);
        }
        FormatLocaleString(local_5020,0x1000,">\n");
        RelinquishMagickMemory(puVar13);
      }
    }
    else {
      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);
      if (puVar13 != (uint *)0x0) {
        pcVar34 = (char *)FUN_00234080();
        goto LAB_00239c56;
      }
    }
  }
  WriteBlobString(local_6224,local_5020);
  local_60a8 = GetMagickTime();
  gmtime_r(&local_60a8,&local_604c);
  FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,
                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,
                     local_604c.tm_sec);
  FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);
  WriteBlobString(local_6224,local_5020);
  FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);
  WriteBlobString(local_6224,local_5020);
  uVar12 = FUN_00234220();
  FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);
  DestroyString(uVar12);
  WriteBlobString(local_6224,local_5020);
  WriteBlobString(local_6224,">>\n");
  WriteBlobString(local_6224,"endobj\n");
  TellBlob(local_6224);
  LocaleCompare(puVar9,&DAT_002a2413);
  WriteBlobString(local_6224,"xref\n");
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  WriteBlobString(local_6224,"0000000000 65535 f \n");
  if (0 < (int)(uVar10 + 7)) {
    puVar26 = local_6200;
    do {
      uVar12 = *(undefined4 *)puVar26;
      puVar26 = puVar26 + 1;
      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);
      WriteBlobString(local_6224,local_5020);
    } while (local_6200 + uVar10 + 7 != puVar26);
  }
  WriteBlobString(local_6224,"trailer\n");
  WriteBlobString(local_6224,"<<\n");
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  SignatureImage(local_6224,param_3);
  GetImageProperty(local_6224,"signature",param_3);
  GetImageProperty(local_6224,"signature",param_3);
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  WriteBlobString(local_6224,">>\n");
  WriteBlobString(local_6224,"startxref\n");
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  iVar27 = 1;
  WriteBlobString(local_6224,"%%EOF\n");
  RelinquishMagickMemory(local_6200);
  CloseBlob(local_6224);
LAB_002345fa:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return iVar27;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0029eab0();
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00038830
ADD EBX,0x1a4ab7
SUB ESP,0x621c
MOV ECX,dword ptr [ESP + 0x6238]
MOV EAX,dword ptr [ESP + 0x6230]
MOV EDI,dword ptr [ESP + 0x6234]
MOV dword ptr [ESP + 0x28],ECX
MOV ECX,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0x620c],ECX
XOR ECX,ECX
MOV dword ptr [ESP + 0x30],EAX
TEST EAX,EAX
JZ 0x0023a239
MOV EAX,dword ptr [ESP + 0x30]
CMP dword ptr [EAX + 0x31f4],0xabacadab
JNZ 0x0023a21a
TEST EDI,EDI
JZ 0x0023a1fb
CMP dword ptr [EDI + 0x3344],0xabacadab
JNZ 0x0023a1bd
MOV EBP,dword ptr [EDI + 0x3328]
TEST EBP,EBP
JNZ 0x00234760
MOV ESI,dword ptr [ESP + 0x28]
TEST ESI,ESI
JZ 0x0023a1dc
MOV EAX,dword ptr [ESP + 0x28]
CMP dword ptr [EAX + 0x1c],0xabacadab
JNZ 0x0023a18d
PUSH dword ptr [ESP + 0x28]
PUSH 0x4
PUSH EDI
PUSH dword ptr [ESP + 0x3c]
CALL 0x00032230
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00234620
XOR ESI,ESI
MOV ECX,dword ptr [ESP + 0x620c]
XOR ECX,dword ptr GS:[0x14]
MOV EAX,ESI
JNZ 0x0023a1b8
ADD ESP,0x621c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
PUSH 0x8
PUSH 0x800
CALL 0x000317b0
LEA ECX,[EDI + 0x318]
MOV dword ptr [ESP + 0x3c],EAX
MOV dword ptr [ESP + 0x70],ECX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002391e2
SUB ESP,0x4
PUSH 0x4000
PUSH 0x0
PUSH dword ptr [ESP + 0x38]
CALL 0x000310a0
ADD ESP,0x10
FLD qword ptr [EBX + 0xfff2d8b8]
MOV EAX,EDI
FSTP qword ptr [ESP + 0x8]
LEA ESI,[ESI]
MOV EDX,dword ptr [EAX + 0x294]
TEST EDX,EDX
JZ 0x00234684
FLD qword ptr [EBX + 0xfff2d8c0]
FSTP qword ptr [ESP + 0x8]
SUB ESP,0xc
PUSH EAX
CALL 0x000319e0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00234670
MOV EAX,dword ptr [ESP + 0x30]
CMP dword ptr [EAX],0xb
JZ 0x00236124
MOV EAX,dword ptr [ESP + 0x30]
LEA ECX,[EBX + 0xffec9413]
SUB ESP,0x8
ADD EAX,0x1f0
MOV dword ptr [ESP + 0x10c],EAX
MOV dword ptr [ESP + 0x164],ECX
PUSH ECX
PUSH EAX
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00234dc0
LEA EAX,[EBX + 0xffecf1ca]
MOV ESI,0x80780003
MOV dword ptr [ESP + 0x14],EDI
MOV EBP,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0xb0],EAX
JMP 0x00234715
SUB ESP,0x4
PUSH EBP
PUSH 0x17
PUSH EDI
CALL 0x00032530
ADD ESP,0x10
SUB ESP,0xc
PUSH EDI
CALL 0x000319e0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x002347a0
SUB ESP,0x8
PUSH EBP
PUSH EDI
CALL 0x00032c60
POP ECX
POP EAX
PUSH dword ptr [ESP + 0xb8]
PUSH EDI
CALL 0x00031c60
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0023474e
SUB ESP,0x4
PUSH EBP
PUSH 0x1
PUSH EDI
CALL 0x00030bc0
ADD ESP,0x10
FLD qword ptr [EBX + 0xfff2d8d0]
FSTP qword ptr [ESP + 0x8]
MOV EAX,dword ptr [EDI + 0x4]
SUB EAX,0x2
CMP EAX,0x1f
JA 0x002346f0
BT ESI,EAX
JC 0x002346ff
JMP 0x002346f0
LEA EAX,[EDI + 0x318]
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xffedde4e]
PUSH EAX
LEA EAX,[EBX + 0xfff2d86c]
PUSH 0x534
PUSH EAX
LEA EAX,[EBX + 0xfff2c7ed]
PUSH EAX
PUSH 0x8000
CALL 0x000323b0
ADD ESP,0x20
JMP 0x002345c4
MOV EDI,dword ptr [ESP + 0x14]
LEA EAX,[EBX + 0xfff2c80f]
SUB ESP,0x8
PUSH EAX
PUSH dword ptr [ESP + 0x3c]
CALL 0x00032590
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002347e8
SUB ESP,0x8
PUSH 0x0
PUSH EAX
CALL 0x00030e60
FLD qword ptr [EBX + 0xfff2d8d0]
FXCH
ADD ESP,0x10
FUCOMI ST0,ST1
FCMOVNBE ST0,ST1
FSTP ST1
FLD qword ptr [ESP + 0x8]
FUCOMI ST0,ST1
FCMOVBE ST0,ST1
FSTP ST1
FSTP qword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfff2c81b]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x18]
PUSH EAX
PUSH 0x1000
LEA ESI,[ESP + 0x1228]
MOV dword ptr [ESP + 0x30],ESI
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x164]
PUSH dword ptr [ESP + 0x110]
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00236133
SUB ESP,0xc
PUSH EDI
CALL 0x00031f30
MOV ECX,dword ptr [ESP + 0x3c]
MOV dword ptr [ECX + 0x4],EDX
MOV dword ptr [ECX],EAX
LEA EAX,[EBX + 0xfff2c828]
MOV dword ptr [ESP],0x3ff00000
PUSH 0x0
MOV dword ptr [ESP + 0x2c],EAX
PUSH EAX
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x30]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
POP ECX
LEA EAX,[EBX + 0xfff2c949]
POP EBP
MOV dword ptr [ESP + 0x64],EAX
PUSH EAX
PUSH EDI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x164]
PUSH dword ptr [ESP + 0x110]
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x002360eb
LEA EAX,[EBX + 0xfff2c847]
SUB ESP,0xc
PUSH 0x40000000
PUSH 0x0
PUSH EAX
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x30]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
MOV dword ptr [ESP],0x40080000
LEA EAX,[EBX + 0xfff2c835]
PUSH 0x0
PUSH EAX
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x20
SUB ESP,0x8
PUSH dword ptr [ESP + 0x1c]
PUSH EDI
CALL 0x00031550
POP EBP
POP EAX
LEA EAX,[EBX + 0xfff2c85c]
PUSH EAX
PUSH EDI
CALL 0x00031550
POP EAX
LEA EAX,[EBX + 0xfff2c86b]
POP EDX
PUSH EAX
PUSH dword ptr [ESP + 0x3c]
CALL 0x00032590
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00234944
LEA EDX,[EBX + 0xffee386a]
SUB ESP,0x8
PUSH EDX
PUSH EAX
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00239b69
LEA EAX,[EBX + 0xffeee596]
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL 0x00031550
POP EBP
POP EAX
LEA EAX,[EBX + 0xfff2c960]
MOV dword ptr [ESP + 0x78],EAX
PUSH EAX
PUSH EDI
CALL 0x00031550
POP EAX
LEA EAX,[EBX + 0xfff2c87e]
POP EDX
MOV dword ptr [ESP + 0x28],EAX
PUSH EAX
PUSH EDI
CALL 0x00031550
ADD ESP,0xc
LEA EAX,[ESP + 0x210]
MOV dword ptr [ESP + 0x16c],EAX
PUSH EAX
PUSH 0x5
PUSH dword ptr [ESP + 0x6c]
CALL 0x00033270
POP ECX
POP ESI
PUSH dword ptr [ESP + 0x164]
PUSH dword ptr [ESP + 0x110]
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002397d8
MOV dword ptr [ESP + 0x8],0x2
MOV EBP,0x11
MOV ESI,0x8
MOV dword ptr [ESP + 0x38],0x2
ADD ESI,dword ptr [ESP + 0x2c]
SUB ESP,0xc
PUSH EDI
CALL 0x00031f30
SUB ESP,0x4
FILD dword ptr [ESP + 0x1c]
FST qword ptr [ESP + 0x10c]
MOV dword ptr [ESI + 0x4],EDX
MOV dword ptr [ESI],EAX
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x2c]
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x30]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x64]
PUSH EDI
CALL 0x00031550
POP ECX
POP EAX
LEA EAX,[EBX + 0xfff2c8cc]
PUSH EAX
PUSH EDI
CALL 0x00031550
LEA EAX,[EBX + 0xfff2c8da]
SUB ESP,0x4
FLD qword ptr [ESP + 0x10c]
FADD dword ptr [EBX + 0xffec6718]
FSTP qword ptr [ESP]
PUSH EAX
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
LEA EAX,[EBX + 0xfff2c8e2]
ADD ESP,0x10
MOV dword ptr [ESP + 0x50],EAX
MOV EAX,dword ptr [ESP + 0x30]
MOV dword ptr [ESP + 0x40],0x1
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x00234b1f
MOV dword ptr [ESP + 0x48],EDI
MOV ESI,dword ptr [ESP + 0x14]
JMP 0x00234ae7
ADD dword ptr [ESP + 0x40],0x1
SUB ESP,0x8
PUSH dword ptr [ESP + 0xb8]
PUSH EDI
CALL 0x00031c60
LEA ECX,[EBP + 0x2]
SUB ESP,0x4
TEST EAX,EAX
CMOVNZ EBP,ECX
MOV dword ptr [ESP + 0x1c],EBP
FILD dword ptr [ESP + 0x1c]
ADD EBP,0xe
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x64]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH dword ptr [ESP + 0x54]
CALL 0x00031550
MOV dword ptr [ESP],EDI
CALL 0x000319e0
ADD ESP,0x10
MOV EDI,EAX
SUB ESP,0xc
PUSH EDI
CALL 0x000319e0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00234a90
MOV EDI,dword ptr [ESP + 0x48]
LEA EAX,[EBP + 0x800]
SUB ESP,0x4
PUSH 0x8
PUSH EAX
PUSH dword ptr [ESP + 0x38]
CALL 0x00031b20
MOV dword ptr [ESP + 0x3c],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00239db8
LEA EAX,[EBX + 0xfff2cc47]
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL 0x00031550
LEA EAX,[EBX + 0xfff2c8ed]
SUB ESP,0x4
FILD dword ptr [ESP + 0x54]
FSTP qword ptr [ESP]
PUSH EAX
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x30]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x78]
PUSH EDI
CALL 0x00031550
POP ECX
POP ESI
PUSH dword ptr [ESP + 0x28]
PUSH EDI
CALL 0x00031550
MOV dword ptr [ESP],EDI
CALL 0x00032180
ADD ESP,0x10
MOV dword ptr [ESP + 0x158],EAX
LEA EAX,[ESP + 0x520c]
MOV dword ptr [ESP + 0xcc],EAX
LEA EAX,[EBX + 0xfff2c8c0]
MOV dword ptr [ESP + 0x94],EAX
LEA EAX,[ESP + 0x188]
MOV dword ptr [ESP + 0xac],EAX
LEA EAX,[EBX + 0xffef331c]
MOV dword ptr [ESP + 0x118],EAX
LEA EAX,[EBX + 0xffef26d1]
MOV dword ptr [ESP + 0x11c],EAX
LEA EAX,[ESP + 0x18c]
MOV dword ptr [ESP + 0xc0],EAX
LEA EAX,[ESP + 0x194]
MOV dword ptr [ESP + 0xc8],EAX
LEA EAX,[ESP + 0x190]
MOV dword ptr [ESP + 0xc4],EAX
LEA EAX,[ESP + 0x198]
MOV dword ptr [ESP + 0x110],EAX
LEA EAX,[ESP + 0x1a8]
MOV dword ptr [ESP + 0x114],EAX
LEA EAX,[EBX + 0xffee5461]
MOV dword ptr [ESP + 0x120],EAX
LEA EAX,[EBX + 0xfff2c91e]
MOV dword ptr [ESP + 0x124],EAX
LEA EAX,[EBX + 0xfff2c92b]
MOV dword ptr [ESP + 0x128],EAX
LEA EAX,[EBX + 0xfff2c93e]
MOV dword ptr [ESP + 0x12c],EAX
LEA EAX,[EBX + 0xfff2cfdc]
MOV dword ptr [ESP + 0x130],EAX
LEA EAX,[EBX + 0xfff2c94d]
MOV dword ptr [ESP + 0x134],EAX
LEA EAX,[EBX + 0xfff2c964]
MOV dword ptr [ESP + 0x138],EAX
LEA EAX,[EBX + 0xfff2c97b]
MOV dword ptr [ESP + 0x13c],EAX
LEA EAX,[EBX + 0xfff2c991]
MOV dword ptr [ESP + 0x140],EAX
LEA EAX,[EBX + 0xfff2c9a6]
MOV dword ptr [ESP + 0x144],EAX
LEA EAX,[EBX + 0xfff2c9b8]
MOV dword ptr [ESP + 0x8c],EAX
LEA EAX,[EBX + 0xfff2c8b8]
MOV dword ptr [ESP + 0x90],EAX
LEA EAX,[EBX + 0xfff2c9cb]
MOV dword ptr [ESP + 0x148],EAX
LEA EAX,[EBX + 0xfff2c9fe]
MOV dword ptr [ESP + 0x14c],EAX
LEA EAX,[EBX + 0xfff2ca18]
MOV dword ptr [ESP + 0x150],EAX
LEA EAX,[EBX + 0xfff2ca25]
MOV dword ptr [ESP + 0x154],EAX
LEA EAX,[EBX + 0xfff2ccd0]
MOV dword ptr [ESP + 0x80],EAX
LEA EAX,[EBX + 0xfff2cc46]
MOV dword ptr [ESP + 0x108],EAX
LEA EAX,[EBX + 0xfff2cac7]
MOV dword ptr [ESP + 0xe8],0x0
MOV dword ptr [ESP + 0xec],0x0
MOV dword ptr [ESP + 0xf4],EAX
LEA EAX,[EBX + 0xfff2cad7]
MOV dword ptr [ESP + 0x100],EAX
LEA EAX,[EBX + 0xfff2cae8]
MOV dword ptr [ESP + 0x10c],EAX
LEA EAX,[EBX + 0xfff2cb89]
MOV dword ptr [ESP + 0xb4],EAX
LEA EAX,[EBX + 0xfff2cb97]
MOV dword ptr [ESP + 0xb8],EAX
LEA EAX,[EBX + 0xfff2cba6]
MOV dword ptr [ESP + 0xf0],EAX
LEA EAX,[EBX + 0xfff2cbbd]
MOV dword ptr [ESP + 0xbc],EAX
MOV dword ptr [ESP + 0x8],EDI
NOP
LEA ESI,[ESI]
SUB ESP,0x8
PUSH dword ptr [ESP + 0xb8]
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00031c60
MOV dword ptr [ESP + 0x60],EAX
MOV EAX,dword ptr [ESP + 0x40]
ADD ESP,0x10
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
CMOVZ EAX,dword ptr [ESI + 0x8]
MOV dword ptr [ESP + 0x74],EAX
SUB EAX,0x7
MOV dword ptr [ESP + 0x84],EAX
CMP EAX,0xd
JA 0x00235d0d
MOV ECX,dword ptr [ESP + 0x84]
MOV EAX,dword ptr [EBX + ECX*0x4 + 0xfff2d120]
ADD EAX,EBX
JMP EAX
FLD qword ptr [EBX + 0xfff2d8c8]
FSTP qword ptr [ESP + 0x8]
JMP 0x002346d3
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,0x0
FLD qword ptr [EAX + 0x1f0]
FST qword ptr [ESP + 0x78]
FLD qword ptr [EAX + 0x1f8]
FST qword ptr [ESP + 0x60]
FLDZ
FUCOMI ST0,ST1
FSTP ST1
SETNP AL
CMOVNZ EAX,EDX
TEST AL,AL
JNZ 0x00234e70
FUCOMIP ST0,ST1
FSTP ST0
SETNP DL
CMOVZ EAX,EDX
TEST AL,AL
JZ 0x00234eaf
JMP 0x00234e74
FSTP ST0
FSTP ST0
SUB ESP,0x8
LEA EAX,[ESP + 0x1c0]
PUSH EAX
LEA EAX,[EBX + 0xfff2c443]
PUSH EAX
CALL 0x00031a50
FLD qword ptr [ESP + 0x1c8]
FST qword ptr [ESP + 0x88]
ADD ESP,0x10
FSTP qword ptr [ESP + 0x60]
TEST AL,0x8
JZ 0x00234eaf
FLD qword ptr [ESP + 0x1c0]
FSTP qword ptr [ESP + 0x60]
MOV EAX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [EAX + 0x54]
TEST EAX,EAX
JZ 0x00234eef
SUB ESP,0x8
LEA EDX,[ESP + 0x1c0]
PUSH EDX
PUSH EAX
CALL 0x00031a50
FLD qword ptr [ESP + 0x1c8]
FST qword ptr [ESP + 0x88]
ADD ESP,0x10
FSTP qword ptr [ESP + 0x60]
TEST AL,0x8
JZ 0x00234eef
FLD qword ptr [ESP + 0x1c0]
FSTP qword ptr [ESP + 0x60]
MOV EAX,dword ptr [ESP + 0x8]
CMP dword ptr [EAX + 0x1dc],0x2
JNZ 0x00234fa4
FNSTCW word ptr [ESP + 0x176]
FLD dword ptr [EBX + 0xffeded18]
MOV dword ptr [ESP + 0x44],0x0
FLD qword ptr [ESP + 0x78]
FMUL ST1
MOVZX EAX,word ptr [ESP + 0x176]
FLD dword ptr [EBX + 0xffec6124]
OR AH,0xc
MOV word ptr [ESP + 0x174],AX
FADD ST1,ST0
FXCH
FLDCW word ptr [ESP + 0x174]
FISTP qword ptr [ESP + 0x160]
FLDCW word ptr [ESP + 0x176]
MOV EAX,dword ptr [ESP + 0x160]
MOV dword ptr [ESP + 0x40],EAX
FILD qword ptr [ESP + 0x40]
FLD dword ptr [EBX + 0xffec671c]
MOV dword ptr [ESP + 0x44],0x0
FDIV ST1,ST0
FXCH
FSTP qword ptr [ESP + 0x78]
FXCH ST2
FMUL qword ptr [ESP + 0x60]
FADDP
FLDCW word ptr [ESP + 0x174]
FISTP qword ptr [ESP + 0x160]
FLDCW word ptr [ESP + 0x176]
MOV EAX,dword ptr [ESP + 0x160]
MOV dword ptr [ESP + 0x40],EAX
FILD qword ptr [ESP + 0x40]
FDIVRP
FSTP qword ptr [ESP + 0x60]
SUB ESP,0x8
PUSH dword ptr [ESP + 0xb4]
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00031350
MOV EAX,dword ptr [ESI + 0x1c]
SUB ESP,0x4
XOR EDX,EDX
MOV dword ptr [ESP + 0x58],EDX
XOR EDX,EDX
MOV dword ptr [ESP + 0x54],EAX
MOV EAX,dword ptr [ESI + 0x18]
FILD qword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x58],EDX
FSTP qword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x54],EAX
FILD qword ptr [ESP + 0x54]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x12c]
PUSH 0x1000
MOV EDI,dword ptr [ESP + 0xe8]
PUSH EDI
CALL 0x000334e0
MOV EAX,dword ptr [ESP + 0x50]
ADD ESP,0x20
MOV EAX,dword ptr [EAX + 0x20]
TEST EAX,EAX
JZ 0x002373e8
SUB ESP,0x4
PUSH 0x1000
PUSH EAX
PUSH EDI
CALL 0x00030b70
ADD ESP,0x10
SUB ESP,0x4
PUSH 0x1000
PUSH dword ptr [ESP + 0x124]
MOV ESI,dword ptr [ESP + 0xd8]
PUSH ESI
CALL 0x00030a00
POP ECX
PUSH dword ptr [ESP + 0xcc]
PUSH dword ptr [ESP + 0xbc]
PUSH dword ptr [ESP + 0xdc]
PUSH dword ptr [ESP + 0xdc]
PUSH ESI
CALL 0x00032930
MOV EAX,dword ptr [ESP + 0x1a8]
XOR EDX,EDX
MOV dword ptr [ESP + 0x64],EDX
MOV dword ptr [ESP + 0x60],EAX
FILD qword ptr [ESP + 0x60]
FLD dword ptr [EBX + 0xffec6120]
FMUL ST1
FXCH
FDIV qword ptr [ESP + 0x98]
FST qword ptr [ESP + 0xf0]
FLD dword ptr [EBX + 0xffec6124]
FADD ST1,ST0
FXCH
FNSTCW word ptr [ESP + 0x1a4]
MOVZX EAX,word ptr [ESP + 0x1a4]
AND EAX,0xf3ff
OR EAX,0x400
MOV word ptr [ESP + 0x200],AX
FLDCW word ptr [ESP + 0x200]
FRNDINT
FLDCW word ptr [ESP + 0x1a4]
FNSTCW word ptr [ESP + 0x196]
FSTP qword ptr [ESP + 0x198]
FLD qword ptr [ESP + 0x198]
XOR EDX,EDX
MOV dword ptr [ESP + 0x64],EDX
MOVZX EAX,word ptr [ESP + 0x196]
OR AH,0xc
MOV word ptr [ESP + 0x194],AX
FLDCW word ptr [ESP + 0x194]
FISTP qword ptr [ESP + 0x180]
FLDCW word ptr [ESP + 0x196]
MOV EAX,dword ptr [ESP + 0x180]
MOV dword ptr [ESP + 0x1a8],EAX
MOV EAX,dword ptr [ESP + 0x1ac]
MOV dword ptr [ESP + 0x60],EAX
FILD qword ptr [ESP + 0x60]
FMULP ST2
FLD qword ptr [ESP + 0x80]
FDIVP ST2,ST0
FXCH
FST qword ptr [ESP + 0xf8]
FADDP
FNSTCW word ptr [ESP + 0x1a4]
MOVZX EAX,word ptr [ESP + 0x1a4]
AND EAX,0xf3ff
OR EAX,0x400
MOV word ptr [ESP + 0x200],AX
FLDCW word ptr [ESP + 0x200]
FRNDINT
FLDCW word ptr [ESP + 0x1a4]
FSTP qword ptr [ESP + 0x198]
FLD qword ptr [ESP + 0x198]
FLDCW word ptr [ESP + 0x194]
FISTP qword ptr [ESP + 0x180]
FLDCW word ptr [ESP + 0x196]
MOV EAX,dword ptr [ESP + 0x180]
MOV dword ptr [ESP + 0x1ac],EAX
ADD ESP,0x18
PUSH dword ptr [ESP + 0x118]
PUSH ESI
CALL 0x00033220
ADD ESP,0x10
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x118]
PUSH ESI
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00030c60
MOV ECX,ESI
MOV ESI,dword ptr [ESI + 0x238]
ADD ESP,0x10
TEST ESI,ESI
JZ 0x00235200
MOV EAX,dword ptr [ESP + 0x1b0]
NEG EAX
MOV dword ptr [ESP + 0x190],EAX
MOV EAX,dword ptr [ESP + 0x1b4]
ADD EAX,dword ptr [ESP + 0x19c]
SUB EAX,dword ptr [ECX + 0x1c]
MOV dword ptr [ESP + 0x194],EAX
MOV EAX,dword ptr [ESP + 0x30]
FLD qword ptr [EAX + 0x58]
FST qword ptr [ESP + 0x48]
FLDZ
FXCH
FUCOMIP ST0,ST1
FSTP ST0
JP 0x00235221
JNZ 0x00235221
FLD dword ptr [EBX + 0xffed8d90]
FSTP qword ptr [ESP + 0x48]
SUB ESP,0x4
PUSH dword ptr [ESP + 0x2c]
MOV EBP,dword ptr [ESP + 0x128]
PUSH EBP
PUSH dword ptr [ESP + 0x14]
CALL 0x00031bb0
MOV EDI,dword ptr [ESP + 0x48]
MOV ESI,dword ptr [ESP + 0x3c]
LEA EAX,[EDI*0x8 + 0x0]
MOV dword ptr [ESP + 0x50],EAX
ADD ESI,EAX
POP EAX
PUSH dword ptr [ESP + 0x14]
CALL 0x00031f30
MOV dword ptr [ESP + 0x7c],0x0
SUB ESP,0x4
MOV dword ptr [ESI],EAX
LEA EAX,[EDI + 0x1]
MOV dword ptr [ESP + 0x7c],EAX
FILD qword ptr [ESP + 0x7c]
FST qword ptr [ESP + 0x7c]
MOV dword ptr [ESI + 0x4],EDX
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x2c]
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x30]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
MOV EDI,dword ptr [ESP + 0x14]
PUSH EDI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x64]
PUSH EDI
CALL 0x00031550
POP ECX
POP EAX
PUSH dword ptr [ESP + 0x12c]
PUSH EDI
CALL 0x00031550
POP EAX
PUSH dword ptr [ESP + 0x108]
PUSH dword ptr [ESP + 0x108]
PUSH dword ptr [ESP + 0x13c]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x134]
PUSH EDI
CALL 0x00031550
ADD ESP,0xc
PUSH dword ptr [ESP + 0x2c]
PUSH EBP
XOR EBP,EBP
PUSH EDI
CALL 0x00031bb0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00235369
SUB ESP,0xc
PUSH EAX
CALL 0x00033360
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JZ 0x00235369
SUB ESP,0x14
MOV EAX,dword ptr [EDI + 0x244]
XOR EDX,EDX
FLD qword ptr [ESP + 0x7c]
MOV dword ptr [ESP + 0xb0],EDX
FADD dword ptr [EBX + 0xffed0b80]
MOV dword ptr [ESP + 0xac],EAX
LEA EAX,[EBX + 0xfff2cfbc]
FSTP qword ptr [ESP + 0x8]
FILD qword ptr [ESP + 0xac]
FSTP qword ptr [ESP]
PUSH EAX
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
ADD ESP,0x10
SUB ESP,0x14
XOR EDX,EDX
MOV EDI,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0xb0],EDX
FLD qword ptr [ESP + 0x7c]
FADD dword ptr [EBX + 0xffed0bb0]
MOV EAX,dword ptr [EDI + 0x244]
FSTP qword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0xac],EAX
FILD qword ptr [ESP + 0xac]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x144]
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x30]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
SUB ESP,0x4
FLD qword ptr [ESP + 0x7c]
FADD dword ptr [EBX + 0xffed0b78]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x148]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
SUB ESP,0x4
XOR EDX,EDX
MOV EAX,dword ptr [ESP + 0x1b0]
MOV dword ptr [ESP + 0xb0],EDX
XOR EDX,EDX
MOV dword ptr [ESP + 0xac],EAX
FILD qword ptr [ESP + 0xac]
FLD dword ptr [EBX + 0xffec6120]
MOV dword ptr [ESP + 0xb0],EDX
FMUL ST1
FXCH
MOV EAX,dword ptr [ESP + 0x1ac]
FDIV qword ptr [ESP + 0x74]
MOV dword ptr [ESP + 0xac],EAX
FSTP qword ptr [ESP + 0x8]
FILD qword ptr [ESP + 0xac]
FMUL ST1
FXCH
FSTP qword ptr [ESP + 0xb4]
FDIV qword ptr [ESP + 0x8c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x14c]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
SUB ESP,0x4
XOR EDX,EDX
MOV EAX,dword ptr [ESP + 0x1b0]
MOV dword ptr [ESP + 0xb0],EDX
XOR EDX,EDX
MOV dword ptr [ESP + 0xac],EAX
FILD qword ptr [ESP + 0xac]
FLD qword ptr [ESP + 0xb4]
FMUL ST1
FXCH
MOV EAX,dword ptr [ESP + 0x1ac]
FDIV qword ptr [ESP + 0x74]
MOV dword ptr [ESP + 0x78],EDX
MOV dword ptr [ESP + 0x74],EAX
FSTP qword ptr [ESP + 0x8]
FILD qword ptr [ESP + 0x74]
FMULP
FDIV qword ptr [ESP + 0x8c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x150]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
SUB ESP,0x4
FLD qword ptr [ESP + 0x7c]
FADD dword ptr [EBX + 0xffec6718]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x154]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
ADD ESP,0x10
MOV EDI,dword ptr [ESP + 0x50]
TEST EDI,EDI
JZ 0x00238118
FLD dword ptr [EBX + 0xffed150c]
SUB ESP,0x14
FADD qword ptr [ESP + 0x7c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x158]
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x30]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
MOV dword ptr [ESP + 0x1c],ESI
PUSH ESI
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00031550
POP EAX
POP EDX
MOV EDI,dword ptr [ESP + 0x78]
PUSH EDI
PUSH ESI
CALL 0x00031550
POP ECX
POP EAX
PUSH dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x14],ESI
PUSH ESI
CALL 0x00031550
MOV ECX,dword ptr [ESP + 0x50]
MOV EAX,dword ptr [ESP + 0x3c]
LEA ESI,[EAX + ECX*0x1 + 0x8]
POP EAX
PUSH dword ptr [ESP + 0x14]
CALL 0x00031f30
MOV dword ptr [ESP + 0x74],0x0
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [ESP + 0x48]
MOV dword ptr [ESI + 0x4],EDX
ADD EAX,0x2
MOV dword ptr [ESP + 0x70],EAX
FILD qword ptr [ESP + 0x70]
SUB ESP,0x4
FST qword ptr [ESP]
FSTP qword ptr [ESP + 0x74]
PUSH dword ptr [ESP + 0x2c]
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x30]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH dword ptr [ESP + 0x14]
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x64]
PUSH dword ptr [ESP + 0x14]
CALL 0x00031550
SUB ESP,0x4
FLD qword ptr [ESP + 0x74]
FADD dword ptr [EBX + 0xffec6718]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0xa0]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
MOV dword ptr [ESP + 0x1c],ESI
PUSH ESI
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00031550
POP ECX
POP EAX
PUSH EDI
MOV EDI,ESI
PUSH ESI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x98]
PUSH ESI
CALL 0x00031550
MOV dword ptr [ESP],ESI
CALL 0x00031f30
MOV dword ptr [ESP + 0xf0],EAX
MOV dword ptr [ESP + 0xf4],EDX
POP ECX
POP ESI
PUSH dword ptr [ESP + 0x150]
PUSH EDI
CALL 0x00031550
ADD ESP,0x10
TEST EBP,EBP
JZ 0x002357be
MOV EAX,dword ptr [EBP]
TEST EAX,EAX
JZ 0x002357be
LEA EAX,[EBX + 0xfff2c9ce]
MOV dword ptr [ESP + 0x8],EBP
MOV EBP,dword ptr [ESP + 0x14]
XOR ESI,ESI
MOV dword ptr [ESP + 0x68],EAX
LEA EAX,[EBX + 0xfff2c9d2]
MOV dword ptr [ESP + 0x78],EAX
LEA EAX,[EBX + 0xfff2c9e1]
MOV dword ptr [ESP + 0x98],EAX
LEA EAX,[EBX + 0xfff2c9f1]
MOV dword ptr [ESP + 0xa0],EAX
LEA EAX,[EBX + 0xfff2c9fa]
MOV dword ptr [ESP + 0xa8],EAX
LEA ESI,[ESI]
LEA EDI,[EDI]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x70]
PUSH EDI
CALL 0x00031550
MOV EAX,dword ptr [EDI + 0x244]
ADD ESP,0xc
XOR EDX,EDX
PUSH dword ptr [ESP + 0x50]
PUSH dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x70],EDX
MOV dword ptr [ESP + 0x6c],EAX
FILD qword ptr [ESP + 0x6c]
SUB ESP,0x8
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x8c]
PUSH 0x1000
PUSH EBP
CALL 0x000334e0
ADD ESP,0x18
PUSH EBP
PUSH EDI
CALL 0x00031550
SUB ESP,0x4
MOV EAX,dword ptr [ESP + 0x1a0]
MOV dword ptr [ESP + 0x78],0x0
ADD EAX,dword ptr [ESP + 0x1a8]
MOV dword ptr [ESP + 0x74],EAX
FILD qword ptr [ESP + 0x74]
MOV dword ptr [ESP + 0x74],ESI
FILD dword ptr [ESP + 0x74]
FMUL qword ptr [ESP + 0x5c]
FADDP
FADD dword ptr [EBX + 0xffed8d90]
FSTP qword ptr [ESP + 0x8]
FILD dword ptr [ESP + 0x1a4]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0xac]
PUSH 0x1000
PUSH EBP
CALL 0x000334e0
ADD ESP,0x18
PUSH EBP
PUSH EDI
CALL 0x00031550
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x8]
PUSH dword ptr [ECX + ESI*0x4]
PUSH dword ptr [ESP + 0xa4]
PUSH 0x1000
PUSH EBP
CALL 0x000334e0
POP ECX
POP EAX
PUSH EBP
PUSH EDI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0xb0]
PUSH EDI
CALL 0x00031550
POP ECX
MOV ECX,dword ptr [ESP + 0x14]
PUSH dword ptr [ECX + ESI*0x4]
CALL 0x00032950
MOV ECX,dword ptr [ESP + 0x18]
ADD ESP,0x10
MOV dword ptr [ECX + ESI*0x4],EAX
ADD ESI,0x1
MOV EAX,dword ptr [ECX + ESI*0x4]
TEST EAX,EAX
JNZ 0x002356b0
MOV EBP,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x8],EDI
SUB ESP,0x14
FILD dword ptr [ESP + 0x1a8]
FSTP qword ptr [ESP + 0x8]
FILD dword ptr [ESP + 0x1a4]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0xf0]
PUSH dword ptr [ESP + 0xf0]
PUSH dword ptr [ESP + 0xf0]
PUSH dword ptr [ESP + 0xf0]
PUSH dword ptr [ESP + 0x170]
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x40]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x28
PUSH ESI
MOV EDI,dword ptr [ESP + 0x14]
PUSH EDI
CALL 0x00031550
MOV EAX,dword ptr [EDI + 0x244]
SUB ESP,0x4
XOR EDX,EDX
MOV dword ptr [ESP + 0x20],EDX
MOV dword ptr [ESP + 0x1c],EAX
FILD qword ptr [ESP + 0x1c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x164]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
MOV dword ptr [ESP + 0x1c],ESI
PUSH ESI
PUSH EDI
CALL 0x00031550
POP ECX
POP ESI
PUSH dword ptr [ESP + 0x15c]
PUSH EDI
CALL 0x00031550
MOV dword ptr [ESP],EDI
CALL 0x00031f30
SUB EAX,dword ptr [ESP + 0xf0]
SBB EDX,dword ptr [ESP + 0xf4]
MOV dword ptr [ESP + 0x58],EAX
MOV dword ptr [ESP + 0x5c],EDX
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x9c]
PUSH EDI
CALL 0x00031550
POP ECX
POP ESI
PUSH dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x14],EDI
PUSH EDI
CALL 0x00031550
MOV EDI,dword ptr [ESP + 0x3c]
MOV EAX,dword ptr [ESP + 0x50]
LEA ESI,[EDI + EAX*0x1 + 0x10]
POP EAX
PUSH dword ptr [ESP + 0x14]
CALL 0x00031f30
SUB ESP,0x4
MOV ECX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESI],EAX
MOV dword ptr [ESP + 0x78],0x0
MOV dword ptr [ESI + 0x4],EDX
LEA EAX,[ECX + 0x3]
MOV dword ptr [ESP + 0x74],EAX
FILD qword ptr [ESP + 0x74]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x2c]
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x30]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH dword ptr [ESP + 0x14]
CALL 0x00031550
SUB ESP,0x4
FILD qword ptr [ESP + 0x5c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x94]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
MOV dword ptr [ESP + 0x1c],ESI
PUSH ESI
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x14],ESI
PUSH ESI
CALL 0x00031550
MOV EAX,dword ptr [ESP + 0x50]
LEA ESI,[EDI + EAX*0x1 + 0x18]
MOV EDI,dword ptr [ESP + 0x18]
MOV dword ptr [ESP],EDI
CALL 0x00031f30
SUB ESP,0x4
MOV ECX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESI],EAX
MOV dword ptr [ESP + 0x60],0x0
MOV dword ptr [ESI + 0x4],EDX
LEA EAX,[ECX + 0x4]
MOV dword ptr [ESP + 0x5c],EAX
FILD qword ptr [ESP + 0x5c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x2c]
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x30]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
ADD ESP,0x10
CMP dword ptr [EDI],0x1
JZ 0x00237258
CMP dword ptr [EDI + 0x24],0x100
JA 0x00237258
CMP dword ptr [ESP + 0x88],0x1
JBE 0x00238950
LEA EAX,[EBX + 0xfff2ca52]
SUB ESP,0x4
PUSH 0x1000
PUSH EAX
PUSH dword ptr [ESP + 0x20]
CALL 0x00030b70
ADD ESP,0x10
SUB ESP,0x8
MOV EDI,dword ptr [ESP + 0x1c]
PUSH EDI
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00031550
POP ECX
POP EAX
PUSH dword ptr [ESP + 0x110]
PUSH ESI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x14],ESI
PUSH ESI
CALL 0x00031550
MOV EAX,dword ptr [ESP + 0x3c]
MOV ECX,dword ptr [ESP + 0x50]
LEA ESI,[EAX + ECX*0x1 + 0x20]
POP ECX
PUSH dword ptr [ESP + 0x14]
CALL 0x00031f30
SUB ESP,0x4
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESP + 0x60],0x0
MOV dword ptr [ESI + 0x4],EDX
MOV ESI,EDI
ADD EAX,0x5
MOV dword ptr [ESP + 0x5c],EAX
FILD qword ptr [ESP + 0x5c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x2c]
PUSH 0x1000
PUSH EDI
CALL 0x000334e0
ADD ESP,0x18
PUSH EDI
MOV EDI,dword ptr [ESP + 0x14]
PUSH EDI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x64]
PUSH EDI
CALL 0x00031550
ADD ESP,0x10
TEST EBP,EBP
JZ 0x00235ae0
LEA EAX,[EBX + 0xfff2ca67]
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL 0x00031550
POP EAX
LEA EAX,[EBX + 0xfff2ca74]
POP EDX
PUSH EAX
PUSH EDI
CALL 0x00031550
MOV EAX,dword ptr [EDI + 0x244]
SUB ESP,0x4
XOR EDX,EDX
MOV dword ptr [ESP + 0x60],EDX
MOV dword ptr [ESP + 0x5c],EAX
LEA EAX,[EBX + 0xfff2ca85]
FILD qword ptr [ESP + 0x5c]
FSTP qword ptr [ESP]
PUSH EAX
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
POP ECX
LEA EAX,[EBX + 0xfff2ca94]
POP ESI
PUSH EAX
PUSH EDI
CALL 0x00031550
POP EAX
LEA EAX,[EBX + 0xfff2caaa]
POP EDX
PUSH EAX
PUSH EDI
CALL 0x00031550
MOV dword ptr [ESP],EBP
CALL 0x00033ac8
ADD ESP,0x10
SUB ESP,0x8
PUSH dword ptr [ESP + 0x78]
MOV EDI,dword ptr [ESP + 0x14]
PUSH EDI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x28]
PUSH EDI
CALL 0x00031550
MOV ECX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP],EDI
MOV EAX,dword ptr [ESP + 0x3c]
LEA ESI,[EAX + ECX*0x1 + 0x28]
CALL 0x00031f30
MOV dword ptr [ESP + 0x5c],0x0
SUB ESP,0x4
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESI + 0x4],EDX
ADD EAX,0x6
MOV dword ptr [ESP + 0x5c],EAX
FILD qword ptr [ESP + 0x5c]
FST qword ptr [ESP + 0x5c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x2c]
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x30]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
POP ECX
POP EBP
PUSH dword ptr [ESP + 0x64]
PUSH EDI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0xfc]
PUSH EDI
CALL 0x00031550
POP ECX
POP EBP
PUSH dword ptr [ESP + 0x108]
PUSH EDI
CALL 0x00031550
MOV EAX,dword ptr [EDI + 0x244]
SUB ESP,0x4
XOR EDX,EDX
MOV dword ptr [ESP + 0x78],EDX
MOV dword ptr [ESP + 0x74],EAX
FILD qword ptr [ESP + 0x74]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x120]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x84]
CMP EAX,0xd
JA 0x00236100
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfff2d158]
ADD ECX,EBX
JMP ECX
MOV EAX,dword ptr [ESP + 0x84]
MOV dword ptr [ESP + 0x88],EAX
JMP 0x00234e2a
PUSH dword ptr [ESP + 0x60]
PUSH dword ptr [ESP + 0xc0]
PUSH 0x1000
MOV EDI,dword ptr [ESP + 0x20]
PUSH EDI
CALL 0x000334e0
POP EAX
POP EDX
PUSH EDI
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00031550
MOV ECX,dword ptr [ESI + 0x294]
ADD ESP,0x10
TEST ECX,ECX
JZ 0x00235e64
MOV EAX,dword ptr [ESP + 0x50]
TEST EAX,EAX
JZ 0x00238910
FLD dword ptr [EBX + 0xffed0b8c]
LEA EAX,[EBX + 0xfff2cbd3]
SUB ESP,0x14
FADD qword ptr [ESP + 0x5c]
FSTP qword ptr [ESP]
PUSH EAX
PUSH 0x1000
MOV EDI,dword ptr [ESP + 0x30]
PUSH EDI
CALL 0x000334e0
ADD ESP,0x18
PUSH EDI
PUSH dword ptr [ESP + 0x14]
CALL 0x00031550
ADD ESP,0x10
SUB ESP,0x14
FLD qword ptr [ESP + 0x5c]
FADD dword ptr [EBX + 0xffec6718]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0xa0]
PUSH 0x1000
MOV EDI,dword ptr [ESP + 0x30]
PUSH EDI
CALL 0x000334e0
ADD ESP,0x18
PUSH EDI
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x78]
PUSH ESI
CALL 0x00031550
POP ECX
POP EDI
PUSH dword ptr [ESP + 0x98]
PUSH ESI
CALL 0x00031550
MOV dword ptr [ESP],ESI
CALL 0x00031f30
MOV dword ptr [ESP + 0x78],EAX
MOV EAX,dword ptr [ESI + 0x1c]
MOV dword ptr [ESP + 0x7c],EDX
ADD ESP,0x10
MUL dword ptr [ESI + 0x18]
MOV EDI,EDX
SHLD EDI,EAX,0x2
TEST EDI,EDI
JNZ 0x00239d4b
CMP dword ptr [ESP + 0x88],0x1
JBE 0x00238a00
MOV dword ptr [ESP + 0x78],EAX
MOV EAX,dword ptr [ESP + 0x30]
CMP dword ptr [EAX + 0x1b8],0x6
JZ 0x00237280
SUB ESP,0x8
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x14]
CALL 0x00032c60
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00237280
MOV EAX,dword ptr [ESP + 0x84]
CMP EAX,0x9
JA 0x00236e9b
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfff2d190]
ADD ECX,EBX
JMP ECX
SUB ESP,0x8
MOV EDI,dword ptr [ESP + 0x1c]
PUSH EDI
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00031550
MOV EAX,dword ptr [ESI + 0x18]
SUB ESP,0x4
XOR EDX,EDX
MOV dword ptr [ESP + 0x78],EDX
MOV dword ptr [ESP + 0x74],EAX
FILD qword ptr [ESP + 0x74]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0xc8]
PUSH 0x1000
PUSH EDI
CALL 0x000334e0
ADD ESP,0x18
PUSH EDI
PUSH ESI
CALL 0x00031550
MOV EAX,dword ptr [ESI + 0x1c]
SUB ESP,0x4
XOR EDX,EDX
MOV dword ptr [ESP + 0x78],EDX
MOV dword ptr [ESP + 0x74],EAX
FILD qword ptr [ESP + 0x74]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0xcc]
PUSH 0x1000
PUSH EDI
CALL 0x000334e0
ADD ESP,0x18
PUSH EDI
PUSH ESI
CALL 0x00031550
SUB ESP,0x4
FLD qword ptr [ESP + 0x5c]
FADD dword ptr [EBX + 0xffed1bd0]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x104]
PUSH 0x1000
PUSH EDI
CALL 0x000334e0
ADD ESP,0x18
PUSH EDI
PUSH ESI
CALL 0x00031550
ADD ESP,0x10
CMP dword ptr [ESP + 0x88],0x2
SBB EAX,EAX
AND EAX,0xfffffff9
ADD EAX,0x8
MOV dword ptr [ESP + 0x60],EAX
JMP 0x00235dee
SUB ESP,0xc
PUSH 0x40000000
JMP 0x002348dd
LEA EAX,[EBX + 0xfff2cb79]
PUSH EAX
LEA EAX,[EBX + 0xfff2cb06]
PUSH EAX
PUSH 0x1000
PUSH dword ptr [ESP + 0x20]
CALL 0x000334e0
ADD ESP,0x10
JMP 0x0023602b
FLD dword ptr [EBX + 0xffed1510]
FSTP qword ptr [ESP + 0x8]
JMP 0x002346a1
SUB ESP,0x8
PUSH 0x25
PUSH EDI
CALL 0x00032b80
POP ECX
POP ESI
PUSH 0xe2
PUSH EDI
CALL 0x00032b80
POP EBP
POP EAX
PUSH 0xe3
PUSH EDI
CALL 0x00032b80
POP EAX
POP EDX
PUSH 0xcf
PUSH EDI
CALL 0x00032b80
POP ECX
POP ESI
PUSH 0xd3
PUSH EDI
CALL 0x00032b80
POP EBP
POP EAX
PUSH 0xa
PUSH EDI
CALL 0x00032b80
ADD ESP,0x10
JMP 0x0023483a
LEA EAX,[EBX + 0xfff2cbea]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x34]
PUSH EAX
MOV EAX,dword ptr [ESP + 0x1c]
PUSH EAX
PUSH EAX
PUSH dword ptr [ESP + 0x4c]
CALL 0x00031f70
ADD ESP,0x20
MOV ESI,EAX
TEST EAX,EAX
JZ 0x0023707e
SUB ESP,0xc
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
MOV EBP,ESI
CALL 0x00031f30
SUB EAX,dword ptr [ESP + 0x78]
SBB EDX,dword ptr [ESP + 0x7c]
MOV dword ptr [ESP + 0x58],EAX
MOV dword ptr [ESP + 0x5c],EDX
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x9c]
PUSH ESI
CALL 0x00031550
POP ECX
POP EDI
PUSH dword ptr [ESP + 0x28]
PUSH ESI
CALL 0x00031550
MOV EDI,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x18],EBP
MOV EAX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP],EBP
LEA ESI,[EDI + EAX*0x1 + 0x30]
CALL 0x00031f30
SUB ESP,0x4
MOV dword ptr [ESI + 0x4],EDX
MOV dword ptr [ESI],EAX
MOV ESI,dword ptr [ESP + 0x4c]
MOV dword ptr [ESP + 0x80],0x0
LEA EAX,[ESI + 0x7]
MOV dword ptr [ESP + 0x7c],EAX
FILD qword ptr [ESP + 0x7c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x2c]
PUSH 0x1000
MOV EBP,dword ptr [ESP + 0x30]
PUSH EBP
CALL 0x000334e0
ADD ESP,0x18
PUSH EBP
PUSH dword ptr [ESP + 0x14]
CALL 0x00031550
SUB ESP,0x4
FILD qword ptr [ESP + 0x5c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x94]
PUSH 0x1000
PUSH EBP
CALL 0x000334e0
ADD ESP,0x18
PUSH EBP
PUSH dword ptr [ESP + 0x14]
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x14]
CALL 0x00031550
MOV EAX,dword ptr [ESP + 0x50]
LEA ECX,[ESI + 0x8]
MOV dword ptr [ESP + 0x58],ECX
LEA ESI,[EDI + EAX*0x1 + 0x38]
MOV EDI,dword ptr [ESP + 0x18]
MOV dword ptr [ESP],EDI
CALL 0x00031f30
MOV ECX,dword ptr [ESP + 0x58]
MOV dword ptr [ESP + 0x7c],0x0
MOV dword ptr [ESI + 0x4],EDX
MOV dword ptr [ESI],EAX
MOV dword ptr [ESP + 0x78],ECX
FILD qword ptr [ESP + 0x78]
FST qword ptr [ESP + 0x78]
SUB ESP,0x4
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x2c]
PUSH 0x1000
PUSH EBP
CALL 0x000334e0
ADD ESP,0x18
PUSH EBP
PUSH EDI
CALL 0x00031550
ADD ESP,0x10
CMP dword ptr [EDI + 0x4],0x2
JZ 0x00238048
CMP dword ptr [ESP + 0x88],0x1
JBE 0x0023631b
MOV EAX,dword ptr [ESP + 0x30]
CMP dword ptr [EAX + 0x1b8],0x6
JZ 0x00238098
SUB ESP,0x8
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x14]
CALL 0x00032c60
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00238098
MOV EAX,dword ptr [ESP + 0x50]
LEA ESI,[EBX + 0xfff2c7fa]
TEST EAX,EAX
JNZ 0x002389a8
LEA EAX,[EBX + 0xfff2cbee]
PUSH ESI
PUSH EAX
PUSH 0x1000
PUSH dword ptr [ESP + 0x20]
CALL 0x000334e0
ADD ESP,0x10
SUB ESP,0x8
PUSH dword ptr [ESP + 0x1c]
PUSH dword ptr [ESP + 0x14]
CALL 0x00031550
ADD ESP,0x10
SUB ESP,0x8
PUSH dword ptr [ESP + 0x28]
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00031550
POP ECX
POP EDI
MOV EDI,dword ptr [ESP + 0xb4]
PUSH EDI
PUSH ESI
CALL 0x00031350
POP EBP
LEA EAX,[EBX + 0xfff2cc0a]
PUSH dword ptr [ESP + 0xcc]
PUSH EDI
PUSH dword ptr [ESP + 0xdc]
PUSH dword ptr [ESP + 0xdc]
PUSH EAX
CALL 0x00032930
LEA EAX,[EBX + 0xfff2cc17]
ADD ESP,0x18
PUSH EAX
PUSH dword ptr [ESP + 0x3c]
CALL 0x00032590
MOV dword ptr [ESP],EAX
CALL 0x00033460
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00238060
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x190]
PUSH dword ptr [ESP + 0x190]
PUSH dword ptr [ESP + 0x14]
CALL 0x000312e0
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JZ 0x002345f8
MOV EDI,dword ptr [ESP + 0x48]
SUB ESP,0xc
MOV ESI,dword ptr [ESP + 0x38]
LEA EAX,[EDI*0x8 + 0x0]
MOV dword ptr [ESP + 0x4c],EAX
ADD ESI,EAX
PUSH dword ptr [ESP + 0x14]
CALL 0x00031f30
SUB ESP,0x4
MOV dword ptr [ESI],EAX
LEA EAX,[EDI + 0x1]
MOV dword ptr [ESP + 0x4c],EAX
MOV dword ptr [ESP + 0x50],0x0
FILD qword ptr [ESP + 0x4c]
FST qword ptr [ESP + 0x4c]
MOV dword ptr [ESI + 0x4],EDX
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x2c]
PUSH 0x1000
MOV EDI,dword ptr [ESP + 0x30]
PUSH EDI
CALL 0x000334e0
ADD ESP,0x18
PUSH EDI
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x64]
PUSH ESI
CALL 0x00031550
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x84]
CMP EAX,0xd
JA 0x00236750
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfff2d1b8]
ADD ECX,EBX
JMP ECX
PUSH EAX
LEA EAX,[EBX + 0xfff2cb06]
PUSH EAX
PUSH 0x1000
PUSH dword ptr [ESP + 0x20]
CALL 0x000334e0
ADD ESP,0x10
SUB ESP,0x8
MOV ESI,dword ptr [ESP + 0x1c]
PUSH ESI
MOV EDI,dword ptr [ESP + 0x14]
PUSH EDI
CALL 0x00031550
MOV EAX,dword ptr [EBP + 0x18]
SUB ESP,0x4
XOR EDX,EDX
MOV dword ptr [ESP + 0x80],EDX
MOV dword ptr [ESP + 0x7c],EAX
FILD qword ptr [ESP + 0x7c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0xc8]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
MOV EAX,dword ptr [EBP + 0x1c]
SUB ESP,0x4
XOR EDX,EDX
MOV dword ptr [ESP + 0x80],EDX
MOV dword ptr [ESP + 0x7c],EAX
FILD qword ptr [ESP + 0x7c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0xcc]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x50]
TEST ECX,ECX
JZ 0x00238128
FLD dword ptr [EBX + 0xffed0b78]
SUB ESP,0x14
FSUBR qword ptr [ESP + 0x4c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x104]
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x30]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
MOV EDI,dword ptr [ESP + 0x14]
PUSH EDI
CALL 0x00031550
ADD ESP,0x10
PUSH dword ptr [ESP + 0x60]
PUSH dword ptr [ESP + 0xc0]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
POP EAX
POP EDX
PUSH ESI
PUSH EDI
CALL 0x00031550
SUB ESP,0x4
FLD qword ptr [ESP + 0x4c]
FADD dword ptr [EBX + 0xffec6718]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0xa0]
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
POP ECX
POP ESI
PUSH dword ptr [ESP + 0x78]
PUSH EDI
CALL 0x00031550
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x98]
PUSH EDI
CALL 0x00031550
MOV dword ptr [ESP],EDI
CALL 0x00031f30
MOV dword ptr [ESP + 0x78],EAX
MOV dword ptr [ESP + 0x7c],EDX
ADD ESP,0x10
CMP dword ptr [ESP + 0x88],0x1
JBE 0x00238a40
MOV EAX,dword ptr [EBP + 0x1c]
MOV dword ptr [ESP + 0x38],EAX
MUL dword ptr [EBP + 0x18]
MOV ECX,EDX
MOV EDX,EAX
MOV EAX,dword ptr [ESP + 0x30]
CMP dword ptr [EAX + 0x1b8],0x6
JZ 0x002377d0
MOV dword ptr [ESP + 0x38],EDX
SUB ESP,0x8
MOV dword ptr [ESP + 0x44],ECX
PUSH dword ptr [ESP + 0x30]
PUSH EBP
CALL 0x00032c60
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x38]
TEST EAX,EAX
JZ 0x002377d0
MOV EAX,dword ptr [ESP + 0x84]
CMP EAX,0x9
JA 0x0023709e
MOV ESI,dword ptr [EBX + EAX*0x4 + 0xfff2d1f0]
ADD ESI,EBX
JMP ESI
LEA EAX,[EBX + 0xfff2cb79]
JMP 0x00236486
LEA EAX,[EBX + 0xfff2cbe5]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x34]
JMP 0x00236195
LEA EAX,[EBX + 0xfff2d87c]
PUSH EAX
LEA EAX,[EBX + 0xfff2c7ed]
PUSH 0x532
PUSH EAX
LEA EAX,[EBX + 0xffed1338]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xfff2d87c]
PUSH EAX
LEA EAX,[EBX + 0xfff2c7ed]
PUSH 0x535
PUSH EAX
LEA EAX,[EBX + 0xffec6a3c]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xfff2d87c]
PUSH EAX
LEA EAX,[EBX + 0xfff2c7ed]
PUSH 0x531
PUSH EAX
LEA EAX,[EBX + 0xffede594]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xfff2d87c]
PUSH EAX
LEA EAX,[EBX + 0xfff2c7ed]
PUSH 0x530
PUSH EAX
LEA EAX,[EBX + 0xffec5b28]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xfff2d87c]
PUSH EAX
LEA EAX,[EBX + 0xfff2c7ed]
PUSH 0x52f
PUSH EAX
LEA EAX,[EBX + 0xffec5b00]
PUSH EAX
CALL 0x000313d0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nint FUN_00234540(uint *param_1,int *param_2,char *param_3)\n\n{\n  float fVar1;\n  float fVar2;\n  int *piVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined1 uVar6;\n  int iVar7;\n  int *piVar8;\n  uint *puVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  uint *puVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  uint uVar17;\n  uint uVar18;\n  char *pcVar19;\n  uint *puVar20;\n  char cVar21;\n  undefined1 *puVar22;\n  uint *puVar23;\n  undefined1 *puVar24;\n  int *piVar25;\n  undefined8 *puVar26;\n  int iVar27;\n  undefined1 *puVar28;\n  uint *puVar29;\n  int iVar30;\n  int *piVar31;\n  int in_GS_OFFSET;\n  bool bVar32;\n  undefined2 in_FPUControlWord;\n  undefined8 uVar33;\n  char *pcVar34;\n  undefined *puVar35;\n  double dVar36;\n  int *local_6224;\n  char *local_620c;\n  undefined8 *local_6200;\n  int local_61f4;\n  undefined8 local_61e4;\n  int local_61dc;\n  double local_61cc;\n  ulonglong local_61c4;\n  uint local_61b8;\n  double local_61b4;\n  uint *local_61a8;\n  uint local_61a4;\n  int local_6194;\n  uint local_60cc;\n  time_t local_60a8;\n  uint local_60a4;\n  uint local_60a0;\n  int local_609c;\n  int local_6098;\n  undefined1 local_6094 [4];\n  uint local_6090;\n  undefined1 local_6084 [8];\n  int local_607c;\n  int local_6078;\n  double local_6074;\n  double local_606c;\n  tm local_604c;\n  uint local_6020 [1024];\n  undefined1 local_5020 [4096];\n  undefined1 auStack_4020 [4096];\n  undefined1 auStack_3020 [4096];\n  uint uStack_2020;\n  undefined4 uStack_201c;\n  undefined4 uStack_2018;\n  undefined4 uStack_2014;\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x234549;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }\n  if (param_1[0xc7d] != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }\n  if (param_2 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }\n  if (param_2[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }\n  if (param_2[0xcca] != 0) {\n    LogMagickEvent();\n  }\n  if (param_3 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }\n  iVar7 = OpenBlob(param_1,param_2,4,param_3);\n  if (iVar7 == 0) {\nLAB_002345f8:\n    iVar27 = 0;\n  }\n  else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org");\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }\n  goto LAB_002345fa;\nLAB_00239247:\n  uVar33 = TellBlob(local_6224,local_620c);\n  local_6200[local_61f4] = uVar33;\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"<<\n");\n  iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n  if (iVar7 == 0) {\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }\n  else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }\n  WriteBlobString(local_6224,local_5020);\n  local_60a8 = GetMagickTime();\n  gmtime_r(&local_60a8,&local_604c);\n  FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec);\n  FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  uVar12 = FUN_00234220();\n  FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);\n  DestroyString(uVar12);\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"endobj\n");\n  TellBlob(local_6224);\n  LocaleCompare(puVar9,&DAT_002a2413);\n  WriteBlobString(local_6224,"xref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"0000000000 65535 f \n");\n  if (0 < (int)(uVar10 + 7)) {\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }\n  WriteBlobString(local_6224,"trailer\n");\n  WriteBlobString(local_6224,"<<\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  SignatureImage(local_6224,param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"startxref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  iVar27 = 1;\n  WriteBlobString(local_6224,"%%EOF\n");\n  RelinquishMagickMemory(local_6200);\n  CloseBlob(local_6224);\nLAB_002345fa:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0029eab0();\n}\n\n" comment comment (function_definition "int FUN_00234540(uint *param_1,int *param_2,char *param_3)\n\n{\n  float fVar1;\n  float fVar2;\n  int *piVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined1 uVar6;\n  int iVar7;\n  int *piVar8;\n  uint *puVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  uint *puVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  uint uVar17;\n  uint uVar18;\n  char *pcVar19;\n  uint *puVar20;\n  char cVar21;\n  undefined1 *puVar22;\n  uint *puVar23;\n  undefined1 *puVar24;\n  int *piVar25;\n  undefined8 *puVar26;\n  int iVar27;\n  undefined1 *puVar28;\n  uint *puVar29;\n  int iVar30;\n  int *piVar31;\n  int in_GS_OFFSET;\n  bool bVar32;\n  undefined2 in_FPUControlWord;\n  undefined8 uVar33;\n  char *pcVar34;\n  undefined *puVar35;\n  double dVar36;\n  int *local_6224;\n  char *local_620c;\n  undefined8 *local_6200;\n  int local_61f4;\n  undefined8 local_61e4;\n  int local_61dc;\n  double local_61cc;\n  ulonglong local_61c4;\n  uint local_61b8;\n  double local_61b4;\n  uint *local_61a8;\n  uint local_61a4;\n  int local_6194;\n  uint local_60cc;\n  time_t local_60a8;\n  uint local_60a4;\n  uint local_60a0;\n  int local_609c;\n  int local_6098;\n  undefined1 local_6094 [4];\n  uint local_6090;\n  undefined1 local_6084 [8];\n  int local_607c;\n  int local_6078;\n  double local_6074;\n  double local_606c;\n  tm local_604c;\n  uint local_6020 [1024];\n  undefined1 local_5020 [4096];\n  undefined1 auStack_4020 [4096];\n  undefined1 auStack_3020 [4096];\n  uint uStack_2020;\n  undefined4 uStack_201c;\n  undefined4 uStack_2018;\n  undefined4 uStack_2014;\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x234549;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }\n  if (param_1[0xc7d] != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }\n  if (param_2 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }\n  if (param_2[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }\n  if (param_2[0xcca] != 0) {\n    LogMagickEvent();\n  }\n  if (param_3 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }\n  iVar7 = OpenBlob(param_1,param_2,4,param_3);\n  if (iVar7 == 0) {\nLAB_002345f8:\n    iVar27 = 0;\n  }\n  else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org");\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }\n  goto LAB_002345fa;\nLAB_00239247:\n  uVar33 = TellBlob(local_6224,local_620c);\n  local_6200[local_61f4] = uVar33;\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"<<\n");\n  iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n  if (iVar7 == 0) {\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }\n  else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }\n  WriteBlobString(local_6224,local_5020);\n  local_60a8 = GetMagickTime();\n  gmtime_r(&local_60a8,&local_604c);\n  FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec);\n  FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  uVar12 = FUN_00234220();\n  FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);\n  DestroyString(uVar12);\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"endobj\n");\n  TellBlob(local_6224);\n  LocaleCompare(puVar9,&DAT_002a2413);\n  WriteBlobString(local_6224,"xref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"0000000000 65535 f \n");\n  if (0 < (int)(uVar10 + 7)) {\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }\n  WriteBlobString(local_6224,"trailer\n");\n  WriteBlobString(local_6224,"<<\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  SignatureImage(local_6224,param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"startxref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  iVar27 = 1;\n  WriteBlobString(local_6224,"%%EOF\n");\n  RelinquishMagickMemory(local_6200);\n  CloseBlob(local_6224);\nLAB_002345fa:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0029eab0();\n}" primitive_type (function_declarator "FUN_00234540(uint *param_1,int *param_2,char *param_3)" identifier (parameter_list "(uint *param_1,int *param_2,char *param_3)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  float fVar1;\n  float fVar2;\n  int *piVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined1 uVar6;\n  int iVar7;\n  int *piVar8;\n  uint *puVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  uint *puVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  uint uVar17;\n  uint uVar18;\n  char *pcVar19;\n  uint *puVar20;\n  char cVar21;\n  undefined1 *puVar22;\n  uint *puVar23;\n  undefined1 *puVar24;\n  int *piVar25;\n  undefined8 *puVar26;\n  int iVar27;\n  undefined1 *puVar28;\n  uint *puVar29;\n  int iVar30;\n  int *piVar31;\n  int in_GS_OFFSET;\n  bool bVar32;\n  undefined2 in_FPUControlWord;\n  undefined8 uVar33;\n  char *pcVar34;\n  undefined *puVar35;\n  double dVar36;\n  int *local_6224;\n  char *local_620c;\n  undefined8 *local_6200;\n  int local_61f4;\n  undefined8 local_61e4;\n  int local_61dc;\n  double local_61cc;\n  ulonglong local_61c4;\n  uint local_61b8;\n  double local_61b4;\n  uint *local_61a8;\n  uint local_61a4;\n  int local_6194;\n  uint local_60cc;\n  time_t local_60a8;\n  uint local_60a4;\n  uint local_60a0;\n  int local_609c;\n  int local_6098;\n  undefined1 local_6094 [4];\n  uint local_6090;\n  undefined1 local_6084 [8];\n  int local_607c;\n  int local_6078;\n  double local_6074;\n  double local_606c;\n  tm local_604c;\n  uint local_6020 [1024];\n  undefined1 local_5020 [4096];\n  undefined1 auStack_4020 [4096];\n  undefined1 auStack_3020 [4096];\n  uint uStack_2020;\n  undefined4 uStack_201c;\n  undefined4 uStack_2018;\n  undefined4 uStack_2014;\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x234549;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }\n  if (param_1[0xc7d] != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }\n  if (param_2 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }\n  if (param_2[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }\n  if (param_2[0xcca] != 0) {\n    LogMagickEvent();\n  }\n  if (param_3 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }\n  iVar7 = OpenBlob(param_1,param_2,4,param_3);\n  if (iVar7 == 0) {\nLAB_002345f8:\n    iVar27 = 0;\n  }\n  else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org");\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }\n  goto LAB_002345fa;\nLAB_00239247:\n  uVar33 = TellBlob(local_6224,local_620c);\n  local_6200[local_61f4] = uVar33;\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"<<\n");\n  iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n  if (iVar7 == 0) {\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }\n  else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }\n  WriteBlobString(local_6224,local_5020);\n  local_60a8 = GetMagickTime();\n  gmtime_r(&local_60a8,&local_604c);\n  FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec);\n  FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  uVar12 = FUN_00234220();\n  FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);\n  DestroyString(uVar12);\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"endobj\n");\n  TellBlob(local_6224);\n  LocaleCompare(puVar9,&DAT_002a2413);\n  WriteBlobString(local_6224,"xref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"0000000000 65535 f \n");\n  if (0 < (int)(uVar10 + 7)) {\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }\n  WriteBlobString(local_6224,"trailer\n");\n  WriteBlobString(local_6224,"<<\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  SignatureImage(local_6224,param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"startxref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  iVar27 = 1;\n  WriteBlobString(local_6224,"%%EOF\n");\n  RelinquishMagickMemory(local_6200);\n  CloseBlob(local_6224);\nLAB_002345fa:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0029eab0();\n}" { (declaration "float fVar1;" primitive_type identifier ;) (declaration "float fVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined1 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined1 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "uint *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "char cVar21;" primitive_type identifier ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "uint *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "undefined8 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined1 *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "uint *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "int *piVar31;" primitive_type (pointer_declarator "*piVar31" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "undefined2 in_FPUControlWord;" type_identifier identifier ;) (declaration "undefined8 uVar33;" type_identifier identifier ;) (declaration "char *pcVar34;" primitive_type (pointer_declarator "*pcVar34" * identifier) ;) (declaration "undefined *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "double dVar36;" primitive_type identifier ;) (declaration "int *local_6224;" primitive_type (pointer_declarator "*local_6224" * identifier) ;) (declaration "char *local_620c;" primitive_type (pointer_declarator "*local_620c" * identifier) ;) (declaration "undefined8 *local_6200;" type_identifier (pointer_declarator "*local_6200" * identifier) ;) (declaration "int local_61f4;" primitive_type identifier ;) (declaration "undefined8 local_61e4;" type_identifier identifier ;) (declaration "int local_61dc;" primitive_type identifier ;) (declaration "double local_61cc;" primitive_type identifier ;) (declaration "ulonglong local_61c4;" type_identifier identifier ;) (declaration "uint local_61b8;" type_identifier identifier ;) (declaration "double local_61b4;" primitive_type identifier ;) (declaration "uint *local_61a8;" type_identifier (pointer_declarator "*local_61a8" * identifier) ;) (declaration "uint local_61a4;" type_identifier identifier ;) (declaration "int local_6194;" primitive_type identifier ;) (declaration "uint local_60cc;" type_identifier identifier ;) (declaration "time_t local_60a8;" type_identifier identifier ;) (declaration "uint local_60a4;" type_identifier identifier ;) (declaration "uint local_60a0;" type_identifier identifier ;) (declaration "int local_609c;" primitive_type identifier ;) (declaration "int local_6098;" primitive_type identifier ;) (declaration "undefined1 local_6094 [4];" type_identifier (array_declarator "local_6094 [4]" identifier [ number_literal ]) ;) (declaration "uint local_6090;" type_identifier identifier ;) (declaration "undefined1 local_6084 [8];" type_identifier (array_declarator "local_6084 [8]" identifier [ number_literal ]) ;) (declaration "int local_607c;" primitive_type identifier ;) (declaration "int local_6078;" primitive_type identifier ;) (declaration "double local_6074;" primitive_type identifier ;) (declaration "double local_606c;" primitive_type identifier ;) (declaration "tm local_604c;" type_identifier identifier ;) (declaration "uint local_6020 [1024];" type_identifier (array_declarator "local_6020 [1024]" identifier [ number_literal ]) ;) (declaration "undefined1 local_5020 [4096];" type_identifier (array_declarator "local_5020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_4020 [4096];" type_identifier (array_declarator "auStack_4020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_3020 [4096];" type_identifier (array_declarator "auStack_3020 [4096]" identifier [ number_literal ]) ;) (declaration "uint uStack_2020;" type_identifier identifier ;) (declaration "undefined4 uStack_201c;" type_identifier identifier ;) (declaration "undefined4 uStack_2018;" type_identifier identifier ;) (declaration "undefined4 uStack_2014;" type_identifier identifier ;) (declaration "undefined1 local_1020 [4096];" type_identifier (array_declarator "local_1020 [4096]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x234549;" (assignment_expression "uStack_14 = 0x234549" 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 == (uint *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }" if (parenthesized_expression "(param_1 == (uint *)0x0)" ( (binary_expression "param_1 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xc7d] != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }" if (parenthesized_expression "(param_1[0xc7d] != 0xabacadab)" ( (binary_expression "param_1[0xc7d] != 0xabacadab" (subscript_expression "param_1[0xc7d]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (param_2 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\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("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }" { comment (expression_statement "__assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");" (call_expression "__assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage")" identifier (argument_list "("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (param_2[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }" if (parenthesized_expression "(param_2[0xcd1] != -0x54535255)" ( (binary_expression "param_2[0xcd1] != -0x54535255" (subscript_expression "param_2[0xcd1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage")" identifier (argument_list "("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (param_2[0xcca] != 0) {\n    LogMagickEvent();\n  }" if (parenthesized_expression "(param_2[0xcca] != 0)" ( (binary_expression "param_2[0xcca] != 0" (subscript_expression "param_2[0xcca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    LogMagickEvent();\n  }" { (expression_statement "LogMagickEvent();" (call_expression "LogMagickEvent()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (param_3 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }" if (parenthesized_expression "(param_3 == (char *)0x0)" ( (binary_expression "param_3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_3 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }" if (parenthesized_expression "(*(int *)(param_3 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(param_3 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 )" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 )" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (expression_statement "iVar7 = OpenBlob(param_1,param_2,4,param_3);" (assignment_expression "iVar7 = OpenBlob(param_1,param_2,4,param_3)" identifier = (call_expression "OpenBlob(param_1,param_2,4,param_3)" identifier (argument_list "(param_1,param_2,4,param_3)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar7 == 0) {\nLAB_002345f8:\n    iVar27 = 0;\n  }\n  else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org");\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002345f8:\n    iVar27 = 0;\n  }" { (labeled_statement "LAB_002345f8:\n    iVar27 = 0;" statement_identifier : (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org");\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }" else (compound_statement "{\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org");\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }" { (expression_statement "local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);" (assignment_expression "local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8)" identifier = (cast_expression "(undefined8 *)AcquireQuantumMemory(0x800,8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(0x800,8)" identifier (argument_list "(0x800,8)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar25 = param_2 + 0xc6;" (assignment_expression "piVar25 = param_2 + 0xc6" identifier = (binary_expression "param_2 + 0xc6" identifier + number_literal)) ;) (expression_statement "piVar31 = param_2;" (assignment_expression "piVar31 = param_2" identifier = identifier) ;) (if_statement "if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org");\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }" if (parenthesized_expression "(local_6200 == (undefined8 *)0x0)" ( (binary_expression "local_6200 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }" { (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }" while (parenthesized_expression "(piVar5 = param_2, piVar8 != (int *)0x0)" ( (comma_expression "piVar5 = param_2, piVar8 != (int *)0x0" (assignment_expression "piVar5 = param_2" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }" { (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "param_2 = piVar8;" (assignment_expression "param_2 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) })) }) (else_clause "else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org");\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }" else (compound_statement "{\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org");\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }" { (expression_statement "memset(local_6200,0,0x4000);" (call_expression "memset(local_6200,0,0x4000)" identifier (argument_list "(local_6200,0,0x4000)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "piVar8 = param_2;" (assignment_expression "piVar8 = param_2" identifier = identifier) ;) (do_statement "do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);" do (compound_statement "{\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }" { (expression_statement "piVar8 = (int *)GetNextImageInList(piVar8);" (assignment_expression "piVar8 = (int *)GetNextImageInList(piVar8)" identifier = (cast_expression "(int *)GetNextImageInList(piVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetNextImageInList(piVar8)" identifier (argument_list "(piVar8)" ( identifier ))))) ;) }) while (parenthesized_expression "(piVar8 != (int *)0x0)" ( (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "puVar9 = param_1 + 0x7c;" (assignment_expression "puVar9 = param_1 + 0x7c" identifier = (binary_expression "param_1 + 0x7c" identifier + number_literal)) ;) (expression_statement "LocaleCompare(puVar9,&DAT_002a2413);" (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) ))) ;) (expression_statement "piVar8 = param_2;" (assignment_expression "piVar8 = param_2" identifier = identifier) ;) (do_statement "do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);" do (compound_statement "{\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }" { (expression_statement "SetImageGray(piVar8,param_3);" (call_expression "SetImageGray(piVar8,param_3)" identifier (argument_list "(piVar8,param_3)" ( identifier , identifier ))) ;) (expression_statement "iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);" (assignment_expression "iVar7 = GetImageProfile(piVar8,&DAT_002a81ca)" identifier = (call_expression "GetImageProfile(piVar8,&DAT_002a81ca)" identifier (argument_list "(piVar8,&DAT_002a81ca)" ( identifier , (pointer_expression "&DAT_002a81ca" & identifier) )))) ;) (if_statement "if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          SetImageStorageClass(piVar8,1,param_3);\n        }" { (expression_statement "SetImageStorageClass(piVar8,1,param_3);" (call_expression "SetImageStorageClass(piVar8,1,param_3)" identifier (argument_list "(piVar8,1,param_3)" ( identifier , number_literal , identifier ))) ;) })) (if_statement "if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }" if (parenthesized_expression "((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0))" ( (binary_expression "(0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)" (parenthesized_expression "(0x1f < piVar8[1] - 2U)" ( (binary_expression "0x1f < piVar8[1] - 2U" number_literal < (binary_expression "piVar8[1] - 2U" (subscript_expression "piVar8[1]" identifier [ number_literal ]) - number_literal)) )) || (parenthesized_expression "((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)" ( (binary_expression "(0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0" (parenthesized_expression "(0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1)" ( (binary_expression "0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1" (binary_expression "0x80780003U >> (piVar8[1] - 2U & 0x1f)" number_literal >> (parenthesized_expression "(piVar8[1] - 2U & 0x1f)" ( (binary_expression "piVar8[1] - 2U & 0x1f" (binary_expression "piVar8[1] - 2U" (subscript_expression "piVar8[1]" identifier [ number_literal ]) - number_literal) & number_literal) ))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }" { (expression_statement "TransformImageColorspace(piVar8,0x17,param_3);" (call_expression "TransformImageColorspace(piVar8,0x17,param_3)" identifier (argument_list "(piVar8,0x17,param_3)" ( identifier , number_literal , identifier ))) ;) })) (expression_statement "piVar8 = (int *)GetNextImageInList(piVar8);" (assignment_expression "piVar8 = (int *)GetNextImageInList(piVar8)" identifier = (cast_expression "(int *)GetNextImageInList(piVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetNextImageInList(piVar8)" identifier (argument_list "(piVar8)" ( identifier ))))) ;) }) while (parenthesized_expression "(piVar8 != (int *)0x0)" ( (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "iVar7 = GetImageOption(param_1,"pdf:version");" (assignment_expression "iVar7 = GetImageOption(param_1,"pdf:version")" identifier = (call_expression "GetImageOption(param_1,"pdf:version")" identifier (argument_list "(param_1,"pdf:version")" ( identifier , (string_literal ""pdf:version"" " string_content ") )))) ;) (if_statement "if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        InterpretLocaleValue(iVar7,0);\n      }" { (expression_statement "InterpretLocaleValue(iVar7,0);" (call_expression "InterpretLocaleValue(iVar7,0)" identifier (argument_list "(iVar7,0)" ( identifier , number_literal ))) ;) })) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "iVar7 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar7 = LocaleCompare(puVar9,&DAT_002a2413)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) )))) ;) (if_statement "if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }" { (expression_statement "WriteBlobByte(param_2,0x25);" (call_expression "WriteBlobByte(param_2,0x25)" identifier (argument_list "(param_2,0x25)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(param_2,0xe2);" (call_expression "WriteBlobByte(param_2,0xe2)" identifier (argument_list "(param_2,0xe2)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(param_2,0xe3);" (call_expression "WriteBlobByte(param_2,0xe3)" identifier (argument_list "(param_2,0xe3)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(param_2,0xcf);" (call_expression "WriteBlobByte(param_2,0xcf)" identifier (argument_list "(param_2,0xcf)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(param_2,0xd3);" (call_expression "WriteBlobByte(param_2,0xd3)" identifier (argument_list "(param_2,0xd3)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(param_2,10);" (call_expression "WriteBlobByte(param_2,10)" identifier (argument_list "(param_2,10)" ( identifier , number_literal ))) ;) })) (expression_statement "uVar33 = TellBlob(param_2);" (assignment_expression "uVar33 = TellBlob(param_2)" identifier = (call_expression "TellBlob(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*local_6200 = uVar33;" (assignment_expression "*local_6200 = uVar33" (pointer_expression "*local_6200" * identifier) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(param_2,"<<\n");" (call_expression "WriteBlobString(param_2,"<<\n")" identifier (argument_list "(param_2,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar7 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar7 = LocaleCompare(puVar9,&DAT_002a2413)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) )))) ;) (if_statement "if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }" { (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) })) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(param_2,"/Type /Catalog");" (call_expression "WriteBlobString(param_2,"/Type /Catalog")" identifier (argument_list "(param_2,"/Type /Catalog")" ( identifier , (string_literal ""/Type /Catalog"" " string_content ") ))) ;) (expression_statement "iVar7 = GetImageOption(param_1,"pdf:page-direction");" (assignment_expression "iVar7 = GetImageOption(param_1,"pdf:page-direction")" identifier = (call_expression "GetImageOption(param_1,"pdf:page-direction")" identifier (argument_list "(param_1,"pdf:page-direction")" ( identifier , (string_literal ""pdf:page-direction"" " string_content ") )))) ;) (if_statement "if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }" if (parenthesized_expression "((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0))" ( (binary_expression "(iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)" ( (comma_expression "iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0" (assignment_expression "iVar7 = LocaleCompare(iVar7,"right-to-left")" identifier = (call_expression "LocaleCompare(iVar7,"right-to-left")" identifier (argument_list "(iVar7,"right-to-left")" ( identifier , (string_literal ""right-to-left"" " string_content ") )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }" { (expression_statement "WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");" (call_expression "WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n")" identifier (argument_list "(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n")" ( identifier , (string_literal ""/ViewerPreferences<</PageDirection/R2L>>\n"" " string_content escape_sequence ") ))) ;) })) (expression_statement "WriteBlobString(param_2,"\n");" (call_expression "WriteBlobString(param_2,"\n")" identifier (argument_list "(param_2,"\n")" ( identifier , (string_literal ""\n"" " escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,">>\n");" (call_expression "WriteBlobString(param_2,">>\n")" identifier (argument_list "(param_2,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,"endobj\n");" (call_expression "WriteBlobString(param_2,"endobj\n")" identifier (argument_list "(param_2,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar34 = (char *)local_6020;" (assignment_expression "pcVar34 = (char *)local_6020" identifier = (cast_expression "(char *)local_6020" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "GetPathComponent(piVar25,5,local_6020);" (call_expression "GetPathComponent(piVar25,5,local_6020)" identifier (argument_list "(piVar25,5,local_6020)" ( identifier , number_literal , identifier ))) ;) (expression_statement "iVar7 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar7 = LocaleCompare(puVar9,&DAT_002a2413)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) )))) ;) (if_statement "if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org");\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org");\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }" { (expression_statement "uVar33 = TellBlob(param_2);" (assignment_expression "uVar33 = TellBlob(param_2)" identifier = (call_expression "TellBlob(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "local_6200[1] = uVar33;" (assignment_expression "local_6200[1] = uVar33" (subscript_expression "local_6200[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(param_2,"<<\n");" (call_expression "WriteBlobString(param_2,"<<\n")" identifier (argument_list "(param_2,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,"/Subtype /XML\n");" (call_expression "WriteBlobString(param_2,"/Subtype /XML\n")" identifier (argument_list "(param_2,"/Subtype /XML\n")" ( identifier , (string_literal ""/Subtype /XML\n"" " string_content escape_sequence ") ))) ;) (expression_statement "auStack_3020[0] = 0;" (assignment_expression "auStack_3020[0] = 0" (subscript_expression "auStack_3020[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar7 = GetImageProperty(param_2,"date:modify",param_3);" (assignment_expression "iVar7 = GetImageProperty(param_2,"date:modify",param_3)" identifier = (call_expression "GetImageProperty(param_2,"date:modify",param_3)" identifier (argument_list "(param_2,"date:modify",param_3)" ( identifier , (string_literal ""date:modify"" " string_content ") , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }" { (expression_statement "CopyMagickString(auStack_3020,iVar7,0x1000);" (call_expression "CopyMagickString(auStack_3020,iVar7,0x1000)" identifier (argument_list "(auStack_3020,iVar7,0x1000)" ( identifier , identifier , number_literal ))) ;) })) (expression_statement "auStack_4020[0] = 0;" (assignment_expression "auStack_4020[0] = 0" (subscript_expression "auStack_4020[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar7 = GetImageProperty(param_2,"date:create",param_3);" (assignment_expression "iVar7 = GetImageProperty(param_2,"date:create",param_3)" identifier = (call_expression "GetImageProperty(param_2,"date:create",param_3)" identifier (argument_list "(param_2,"date:create",param_3)" ( identifier , (string_literal ""date:create"" " string_content ") , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }" { (expression_statement "CopyMagickString(auStack_4020,iVar7,0x1000);" (call_expression "CopyMagickString(auStack_4020,iVar7,0x1000)" identifier (argument_list "(auStack_4020,iVar7,0x1000)" ( identifier , identifier , number_literal ))) ;) })) (expression_statement "uVar12 = GetMagickTime();" (assignment_expression "uVar12 = GetMagickTime()" identifier = (call_expression "GetMagickTime()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar34 = (char *)&uStack_2020;" (assignment_expression "pcVar34 = (char *)&uStack_2020" identifier = (cast_expression "(char *)&uStack_2020" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_2020" & identifier))) ;) (expression_statement "FormatMagickTime(uVar12,0x1000,&uStack_2020);" (call_expression "FormatMagickTime(uVar12,0x1000,&uStack_2020)" identifier (argument_list "(uVar12,0x1000,&uStack_2020)" ( identifier , number_literal , (pointer_expression "&uStack_2020" & identifier) ))) ;) (expression_statement "uVar12 = FUN_00234220();" (assignment_expression "uVar12 = FUN_00234220()" identifier = (call_expression "FUN_00234220()" identifier (argument_list "()" ( )))) ;) (expression_statement "FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org");" (call_expression "FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org")" identifier (argument_list "(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https://imagemagick.org",uVar12,"https://imagemagick.org")" ( identifier , number_literal , (string_literal ""<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (pointer_expression "&UNK_0030624c" & identifier) , identifier , identifier , (pointer_expression "&uStack_2020" & identifier) , (string_literal ""https://imagemagick.org"" " string_content ") , identifier , (string_literal ""https://imagemagick.org"" " string_content ") ))) ;) (expression_statement "DestroyString(uVar12);" (call_expression "DestroyString(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(param_2,"/Type /Metadata\n");" (call_expression "WriteBlobString(param_2,"/Type /Metadata\n")" identifier (argument_list "(param_2,"/Type /Metadata\n")" ( identifier , (string_literal ""/Type /Metadata\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,">>\nstream\n");" (call_expression "WriteBlobString(param_2,">>\nstream\n")" identifier (argument_list "(param_2,">>\nstream\n")" ( identifier , (string_literal "">>\nstream\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,local_1020);" (call_expression "WriteBlobString(param_2,local_1020)" identifier (argument_list "(param_2,local_1020)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = 0x10;" (assignment_expression "iVar27 = 0x10" identifier = number_literal) ;) (expression_statement "WriteBlobString(param_2,"\nendstream\n");" (call_expression "WriteBlobString(param_2,"\nendstream\n")" identifier (argument_list "(param_2,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "iVar7 = 0x12;" (assignment_expression "iVar7 = 0x12" identifier = number_literal) ;) (expression_statement "WriteBlobString(param_2,"endobj\n");" (call_expression "WriteBlobString(param_2,"endobj\n")" identifier (argument_list "(param_2,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_61f4 = 3;" (assignment_expression "local_61f4 = 3" identifier = number_literal) ;) }) (else_clause "else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }" else (compound_statement "{\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }" { (expression_statement "iVar7 = 0x11;" (assignment_expression "iVar7 = 0x11" identifier = number_literal) ;) (expression_statement "iVar27 = 8;" (assignment_expression "iVar27 = 8" identifier = number_literal) ;) (expression_statement "local_61f4 = 2;" (assignment_expression "local_61f4 = 2" identifier = number_literal) ;) }))) (expression_statement "uVar33 = TellBlob(param_2);" (assignment_expression "uVar33 = TellBlob(param_2)" identifier = (call_expression "TellBlob(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*(undefined8 *)(iVar27 + (int)local_6200) = uVar33;" (assignment_expression "*(undefined8 *)(iVar27 + (int)local_6200) = uVar33" (pointer_expression "*(undefined8 *)(iVar27 + (int)local_6200)" * (cast_expression "(undefined8 *)(iVar27 + (int)local_6200)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + (int)local_6200)" ( (binary_expression "iVar27 + (int)local_6200" identifier + (cast_expression "(int)local_6200" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(param_2,"<<\n");" (call_expression "WriteBlobString(param_2,"<<\n")" identifier (argument_list "(param_2,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,"/Type /Pages\n");" (call_expression "WriteBlobString(param_2,"/Type /Pages\n")" identifier (argument_list "(param_2,"/Type /Pages\n")" ( identifier , (string_literal ""/Type /Pages\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "piVar8 = param_2;" (assignment_expression "piVar8 = param_2" identifier = identifier) ;) (if_statement "if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }" if (parenthesized_expression "(param_1[3] == 0)" ( (binary_expression "param_1[3] == 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }" { (labeled_statement "LAB_00234b1f:\n        WriteBlobString(param_2,"]\n");" statement_identifier : (expression_statement "WriteBlobString(param_2,"]\n");" (call_expression "WriteBlobString(param_2,"]\n")" identifier (argument_list "(param_2,"]\n")" ( identifier , (string_literal ""]\n"" " string_content escape_sequence ") ))) ;)) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(param_2,">>\n");" (call_expression "WriteBlobString(param_2,">>\n")" identifier (argument_list "(param_2,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,"endobj\n");" (call_expression "WriteBlobString(param_2,"endobj\n")" identifier (argument_list "(param_2,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "GetImageListLength(param_2);" (call_expression "GetImageListLength(param_2)" identifier (argument_list "(param_2)" ( identifier ))) ;) (expression_statement "pcVar19 = "stream\n";" (assignment_expression "pcVar19 = "stream\n"" identifier = (string_literal ""stream\n"" " string_content escape_sequence ")) ;) (expression_statement "local_6224 = param_2;" (assignment_expression "local_6224 = param_2" identifier = identifier) ;) (do_statement "do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );" do (compound_statement "{\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        }" { (expression_statement "piVar31 = local_6224;" (assignment_expression "piVar31 = local_6224" identifier = identifier) ;) (expression_statement "iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);" (assignment_expression "iVar7 = GetImageProfile(local_6224,&DAT_002a81ca)" identifier = (call_expression "GetImageProfile(local_6224,&DAT_002a81ca)" identifier (argument_list "(local_6224,&DAT_002a81ca)" ( identifier , (pointer_expression "&DAT_002a81ca" & identifier) )))) ;) (expression_statement "local_61a4 = *param_1;" (assignment_expression "local_61a4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }" if (parenthesized_expression "(*param_1 == 0)" ( (binary_expression "*param_1 == 0" (pointer_expression "*param_1" * identifier) == number_literal) )) (compound_statement "{\n            local_61a4 = local_6224[2];\n          }" { (expression_statement "local_61a4 = local_6224[2];" (assignment_expression "local_61a4 = local_6224[2]" identifier = (subscript_expression "local_6224[2]" identifier [ number_literal ])) ;) })) (expression_statement "local_61a8 = (uint *)(local_61a4 - 7);" (assignment_expression "local_61a8 = (uint *)(local_61a4 - 7)" identifier = (cast_expression "(uint *)(local_61a4 - 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_61a4 - 7)" ( (binary_expression "local_61a4 - 7" identifier - number_literal) )))) ;) (expression_statement "local_61b8 = local_61a4;" (assignment_expression "local_61b8 = local_61a4" identifier = identifier) ;) (switch_statement "switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }" { (case_statement "case (uint *)0x0:" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "iVar27 = SetImageMonochrome(local_6224,param_3);" (assignment_expression "iVar27 = SetImageMonochrome(local_6224,param_3)" identifier = (call_expression "SetImageMonochrome(local_6224,param_3)" identifier (argument_list "(local_6224,param_3)" ( identifier , identifier )))) ;) (if_statement "if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;" if (parenthesized_expression "((iVar27 != 0) && (local_6224[0xa5] == 0))" ( (binary_expression "(iVar27 != 0) && (local_6224[0xa5] == 0)" (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_6224[0xa5] == 0)" ( (binary_expression "local_6224[0xa5] == 0" (subscript_expression "local_6224[0xa5]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_00235d0d;" goto statement_identifier ;)) (goto_statement "goto code_r0x00234e0c;" goto statement_identifier ;)) (case_statement "default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;" default : (labeled_statement "LAB_00235d0d:\n            local_61a4 = (uint)local_61a8;" statement_identifier : (expression_statement "local_61a4 = (uint)local_61a8;" (assignment_expression "local_61a4 = (uint)local_61a8" identifier = (cast_expression "(uint)local_61a8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (break_statement "break;" break ;)) (case_statement "case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = &UNK_00305907;" (assignment_expression "pcVar34 = &UNK_00305907" identifier = (pointer_expression "&UNK_00305907" & identifier)) ;) (goto_statement "goto code_r0x00234df2;" goto statement_identifier ;)) (case_statement "case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;" case (cast_expression "(uint *)0x5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "`%s\' (JPEG)";" (assignment_expression "pcVar34 = "`%s\' (JPEG)"" identifier = (string_literal ""`%s\' (JPEG)"" " string_content escape_sequence string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_61a8 = (uint *)0xc;" (assignment_expression "local_61a8 = (uint *)0xc" identifier = (cast_expression "(uint *)0xc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_61b8 = 0x13;" (assignment_expression "local_61b8 = 0x13" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;" case (cast_expression "(uint *)0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "iVar27 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar27 = LocaleCompare(puVar9,&DAT_002a2413)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) )))) ;) (if_statement "if (iVar27 == 0) goto code_r0x00234e0c;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00234e0c;" goto statement_identifier ;)) (expression_statement "local_61a4 = 8;" (assignment_expression "local_61a4 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;" case (cast_expression "(uint *)0x9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "iVar27 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar27 = LocaleCompare(puVar9,&DAT_002a2413)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) )))) ;) (if_statement "if (iVar27 == 0) goto code_r0x00234e0c;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00234e0c;" goto statement_identifier ;)) (expression_statement "local_61a4 = 9;" (assignment_expression "local_61a4 = 9" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;" case (cast_expression "(uint *)0xd" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "`%s\' (ZLIB)";" (assignment_expression "pcVar34 = "`%s\' (ZLIB)"" identifier = (string_literal ""`%s\' (ZLIB)"" " string_content escape_sequence string_content ")) ;) (labeled_statement "code_r0x00234df2:\n            ThrowMagickException();" statement_identifier : (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "code_r0x00234e0c:\n            local_61a4 = 0xc;" statement_identifier : (expression_statement "local_61a4 = 0xc;" (assignment_expression "local_61a4 = 0xc" identifier = number_literal) ;)) (expression_statement "local_61b8 = 0x13;" (assignment_expression "local_61b8 = 0x13" identifier = number_literal) ;) (expression_statement "local_61a8 = (uint *)0xc;" (assignment_expression "local_61a8 = (uint *)0xc" identifier = (cast_expression "(uint *)0xc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (expression_statement "local_61b4 = *(double *)(local_6224 + 0x7c);" (assignment_expression "local_61b4 = *(double *)(local_6224 + 0x7c)" identifier = (pointer_expression "*(double *)(local_6224 + 0x7c)" * (cast_expression "(double *)(local_6224 + 0x7c)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6224 + 0x7c)" ( (binary_expression "local_6224 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "local_61cc = *(double *)(local_6224 + 0x7e);" (assignment_expression "local_61cc = *(double *)(local_6224 + 0x7e)" identifier = (pointer_expression "*(double *)(local_6224 + 0x7e)" * (cast_expression "(double *)(local_6224 + 0x7e)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6224 + 0x7e)" ( (binary_expression "local_6224 + 0x7e" identifier + number_literal) ))))) ;) (if_statement "if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }" if (parenthesized_expression "(local_61cc == 0.0)" ( (binary_expression "local_61cc == 0.0" identifier == number_literal) )) (compound_statement "{\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }" { (labeled_statement "LAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);" statement_identifier : (expression_statement "uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);" (assignment_expression "uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34)" identifier = (call_expression "ParseGeometry("72.0x72.0",&local_6074,pcVar34)" identifier (argument_list "("72.0x72.0",&local_6074,pcVar34)" ( (string_literal ""72.0x72.0"" " string_content ") , (pointer_expression "&local_6074" & identifier) , identifier )))) ;)) (expression_statement "local_61b4 = local_6074;" (assignment_expression "local_61b4 = local_6074" identifier = identifier) ;) (expression_statement "local_61cc = local_6074;" (assignment_expression "local_61cc = local_6074" identifier = identifier) ;) (if_statement "if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }" if (parenthesized_expression "((uVar10 & 8) != 0)" ( (binary_expression "(uVar10 & 8) != 0" (parenthesized_expression "(uVar10 & 8)" ( (binary_expression "uVar10 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              local_61cc = local_606c;\n            }" { (expression_statement "local_61cc = local_606c;" (assignment_expression "local_61cc = local_606c" identifier = identifier) ;) })) }) (else_clause "else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }" else (compound_statement "{\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }" { (expression_statement "bVar32 = local_61cc == 0.0;" (assignment_expression "bVar32 = local_61cc == 0.0" identifier = (binary_expression "local_61cc == 0.0" identifier == number_literal)) ;) (if_statement "if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }" if (parenthesized_expression "(local_61b4 == 0.0)" ( (binary_expression "local_61b4 == 0.0" identifier == number_literal) )) (compound_statement "{\n              bVar32 = !NAN(local_61b4);\n            }" { (expression_statement "bVar32 = !NAN(local_61b4);" (assignment_expression "bVar32 = !NAN(local_61b4)" identifier = (unary_expression "!NAN(local_61b4)" ! (call_expression "NAN(local_61b4)" identifier (argument_list "(local_61b4)" ( identifier ))))) ;) })) (if_statement "if (bVar32) goto LAB_00234e74;" if (parenthesized_expression "(bVar32)" ( identifier )) (goto_statement "goto LAB_00234e74;" goto statement_identifier ;)) }))) (if_statement "if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }" if (parenthesized_expression "(param_1[0x15] != 0)" ( (binary_expression "param_1[0x15] != 0" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }" { (expression_statement "uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);" (assignment_expression "uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34)" identifier = (call_expression "ParseGeometry(param_1[0x15],&local_6074,pcVar34)" identifier (argument_list "(param_1[0x15],&local_6074,pcVar34)" ( (subscript_expression "param_1[0x15]" identifier [ number_literal ]) , (pointer_expression "&local_6074" & identifier) , identifier )))) ;) (expression_statement "local_61b4 = local_6074;" (assignment_expression "local_61b4 = local_6074" identifier = identifier) ;) (expression_statement "local_61cc = local_6074;" (assignment_expression "local_61cc = local_6074" identifier = identifier) ;) (if_statement "if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }" if (parenthesized_expression "((uVar10 & 8) != 0)" ( (binary_expression "(uVar10 & 8) != 0" (parenthesized_expression "(uVar10 & 8)" ( (binary_expression "uVar10 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              local_61cc = local_606c;\n            }" { (expression_statement "local_61cc = local_606c;" (assignment_expression "local_61cc = local_606c" identifier = identifier) ;) })) })) (if_statement "if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }" if (parenthesized_expression "(local_6224[0x77] == 2)" ( (binary_expression "local_6224[0x77] == 2" (subscript_expression "local_6224[0x77]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }" { (expression_statement "local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);" (assignment_expression "local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" identifier = (cast_expression "(double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" ( (binary_expression "(float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c" (cast_expression "(float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff)" ( (binary_expression "(longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff" (cast_expression "(longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124)" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124)" identifier (argument_list "((float)local_61b4 * DAT_002b7d18 + DAT_0029f124)" ( (binary_expression "(float)local_61b4 * DAT_002b7d18 + DAT_0029f124" (binary_expression "(float)local_61b4 * DAT_002b7d18" (cast_expression "(float)local_61b4" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) + identifier) )))) & number_literal) ))) / identifier) )))) ;) (expression_statement "local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);" (assignment_expression "local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" identifier = (cast_expression "(double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" ( (binary_expression "(float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c" (cast_expression "(float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff)" ( (binary_expression "(longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff" (cast_expression "(longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124)" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124)" identifier (argument_list "(DAT_002b7d18 * (float)local_61cc + DAT_0029f124)" ( (binary_expression "DAT_002b7d18 * (float)local_61cc + DAT_0029f124" (binary_expression "DAT_002b7d18 * (float)local_61cc" identifier * (cast_expression "(float)local_61cc" ( (type_descriptor "float" primitive_type) ) identifier)) + identifier) )))) & number_literal) ))) / identifier) )))) ;) })) (expression_statement "SetGeometry(local_6224,&local_60a4);" (call_expression "SetGeometry(local_6224,&local_60a4)" identifier (argument_list "(local_6224,&local_60a4)" ( identifier , (pointer_expression "&local_60a4" & identifier) ))) ;) (expression_statement "uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(double)(uint)local_6224[7] >> 0x20)" ( (binary_expression "(ulonglong)(double)(uint)local_6224[7] >> 0x20" (cast_expression "(ulonglong)(double)(uint)local_6224[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(uint)local_6224[7]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(uint)local_6224[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[7]" identifier [ number_literal ])))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (if_statement "if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }" if (parenthesized_expression "(param_1[8] == 0)" ( (binary_expression "param_1[8] == 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }" { (if_statement "if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }" if (parenthesized_expression "((local_6224[0x80] == 0) || (local_6224[0x81] == 0))" ( (binary_expression "(local_6224[0x80] == 0) || (local_6224[0x81] == 0)" (parenthesized_expression "(local_6224[0x80] == 0)" ( (binary_expression "local_6224[0x80] == 0" (subscript_expression "local_6224[0x80]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(local_6224[0x81] == 0)" ( (binary_expression "local_6224[0x81] == 0" (subscript_expression "local_6224[0x81]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }" { (if_statement "if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }" if (parenthesized_expression "((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0))" ( (binary_expression "(local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)" (parenthesized_expression "(local_6224[0x8e] != 0)" ( (binary_expression "local_6224[0x8e] != 0" (subscript_expression "local_6224[0x8e]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)" ( (comma_expression "iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0" (assignment_expression "iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a240f,uVar12)" identifier (argument_list "(puVar9,&DAT_002a240f,uVar12)" ( identifier , (pointer_expression "&DAT_002a240f" & identifier) , identifier )))) , (binary_expression "iVar27 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }" { (expression_statement "CopyMagickString(local_1020,"612x792",0x1000);" (call_expression "CopyMagickString(local_1020,"612x792",0x1000)" identifier (argument_list "(local_1020,"612x792",0x1000)" ( identifier , (string_literal ""612x792"" " string_content ") , number_literal ))) ;) })) }) (else_clause "else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }" else (compound_statement "{\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }" { (expression_statement "FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);" (call_expression "FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83])" identifier (argument_list "(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83])" ( identifier , number_literal , (string_literal ""%.20gx%.20g%+.20g%+.20g"" " string_content ") , (cast_expression "(double)(uint)local_6224[0x80]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(uint)local_6224[0x80]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[0x80]" identifier [ number_literal ]))) , (cast_expression "(double)(uint)local_6224[0x81]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(uint)local_6224[0x81]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[0x81]" identifier [ number_literal ]))) , (cast_expression "(double)local_6224[0x82]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "local_6224[0x82]" identifier [ number_literal ])) , (cast_expression "(double)local_6224[0x83]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "local_6224[0x83]" identifier [ number_literal ])) ))) ;) }))) }) (else_clause "else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }" else (compound_statement "{\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }" { (expression_statement "CopyMagickString(local_1020,param_1[8],0x1000);" (call_expression "CopyMagickString(local_1020,param_1[8],0x1000)" identifier (argument_list "(local_1020,param_1[8],0x1000)" ( identifier , (subscript_expression "param_1[8]" identifier [ number_literal ]) , number_literal ))) ;) }))) (expression_statement "ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);" (call_expression "ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000)" identifier (argument_list "(local_1020,&DAT_002cb6d1,0x1000)" ( identifier , (pointer_expression "&DAT_002cb6d1" & identifier) , number_literal ))) ;) (expression_statement "ParseMetaGeometry();" (call_expression "ParseMetaGeometry()" identifier (argument_list "()" ( ))) ;) (expression_statement "fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;" (assignment_expression "fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4" identifier = (binary_expression "((float)local_60a4 * DAT_0029f120) / (float)local_61b4" (parenthesized_expression "((float)local_60a4 * DAT_0029f120)" ( (binary_expression "(float)local_60a4 * DAT_0029f120" (cast_expression "(float)local_60a4" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )) / (cast_expression "(float)local_61b4" ( (type_descriptor "float" primitive_type) ) identifier))) ;) (expression_statement "local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));" (assignment_expression "local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124))" identifier = (cast_expression "(uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124))" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(longlong)ROUND(ROUND(fVar2 + DAT_0029f124))" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(ROUND(fVar2 + DAT_0029f124))" identifier (argument_list "(ROUND(fVar2 + DAT_0029f124))" ( (call_expression "ROUND(fVar2 + DAT_0029f124)" identifier (argument_list "(fVar2 + DAT_0029f124)" ( (binary_expression "fVar2 + DAT_0029f124" identifier + identifier) ))) )))))) ;) (expression_statement "local_60a4 = local_60cc;" (assignment_expression "local_60a4 = local_60cc" identifier = identifier) ;) (expression_statement "fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;" (assignment_expression "fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc" identifier = (binary_expression "((float)local_60a0 * DAT_0029f120) / (float)local_61cc" (parenthesized_expression "((float)local_60a0 * DAT_0029f120)" ( (binary_expression "(float)local_60a0 * DAT_0029f120" (cast_expression "(float)local_60a0" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )) / (cast_expression "(float)local_61cc" ( (type_descriptor "float" primitive_type) ) identifier))) ;) (expression_statement "local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);" (assignment_expression "local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord)" identifier = (call_expression "CONCAT22(local_60a8._2_2_,in_FPUControlWord)" identifier (argument_list "(local_60a8._2_2_,in_FPUControlWord)" ( (field_expression "local_60a8._2_2_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;" (assignment_expression "local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400" (field_expression "local_604c.tm_sec" identifier . field_identifier) = (binary_expression "CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400" (binary_expression "CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff" (call_expression "CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord)" identifier (argument_list "((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord)" ( (cast_expression "(short)((uint)local_604c.tm_sec >> 0x10)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "((uint)local_604c.tm_sec >> 0x10)" ( (binary_expression "(uint)local_604c.tm_sec >> 0x10" (cast_expression "(uint)local_604c.tm_sec" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_604c.tm_sec" identifier . field_identifier)) >> number_literal) ))) , identifier ))) & number_literal) | number_literal)) ;) (expression_statement "local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));" (assignment_expression "local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124))" identifier = (cast_expression "(uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124))" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(longlong)ROUND(ROUND(fVar1 + DAT_0029f124))" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(ROUND(fVar1 + DAT_0029f124))" identifier (argument_list "(ROUND(fVar1 + DAT_0029f124))" ( (call_expression "ROUND(fVar1 + DAT_0029f124)" identifier (argument_list "(fVar1 + DAT_0029f124)" ( (binary_expression "fVar1 + DAT_0029f124" identifier + identifier) ))) )))))) ;) (expression_statement "local_60a0 = local_60cc;" (assignment_expression "local_60a0 = local_60cc" identifier = identifier) ;) (expression_statement "ParseAbsoluteGeometry(local_1020,local_6094);" (call_expression "ParseAbsoluteGeometry(local_1020,local_6094)" identifier (argument_list "(local_1020,local_6094)" ( identifier , identifier ))) ;) (expression_statement "ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);" (call_expression "ParseGravityGeometry(local_6224,local_1020,local_6084,param_3)" identifier (argument_list "(local_6224,local_1020,local_6084,param_3)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }" if (parenthesized_expression "(local_6224[0x8e] != 0)" ( (binary_expression "local_6224[0x8e] != 0" (subscript_expression "local_6224[0x8e]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }" { (expression_statement "local_609c = -local_607c;" (assignment_expression "local_609c = -local_607c" identifier = (unary_expression "-local_607c" - identifier)) ;) (expression_statement "local_6098 = (local_6078 + local_6090) - local_6224[7];" (assignment_expression "local_6098 = (local_6078 + local_6090) - local_6224[7]" identifier = (binary_expression "(local_6078 + local_6090) - local_6224[7]" (parenthesized_expression "(local_6078 + local_6090)" ( (binary_expression "local_6078 + local_6090" identifier + identifier) )) - (subscript_expression "local_6224[7]" identifier [ number_literal ]))) ;) })) (expression_statement "local_61e4 = *(double *)(param_1 + 0x16);" (assignment_expression "local_61e4 = *(double *)(param_1 + 0x16)" identifier = (pointer_expression "*(double *)(param_1 + 0x16)" * (cast_expression "(double *)(param_1 + 0x16)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x16)" ( (binary_expression "param_1 + 0x16" identifier + number_literal) ))))) ;) (if_statement "if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }" if (parenthesized_expression "(local_61e4 == 0.0)" ( (binary_expression "local_61e4 == 0.0" identifier == number_literal) )) (compound_statement "{\n            local_61e4 = (double)DAT_002b1d90;\n          }" { (expression_statement "local_61e4 = (double)DAT_002b1d90;" (assignment_expression "local_61e4 = (double)DAT_002b1d90" identifier = (cast_expression "(double)DAT_002b1d90" ( (type_descriptor "double" primitive_type) ) identifier)) ;) })) (expression_statement "GetImageProperty(local_6224,"label",param_3);" (call_expression "GetImageProperty(local_6224,"label",param_3)" identifier (argument_list "(local_6224,"label",param_3)" ( identifier , (string_literal ""label"" " string_content ") , identifier ))) ;) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" identifier = (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier )))) ;) (expression_statement "local_61c4 = (ulonglong)(local_61f4 + 1);" (assignment_expression "local_61c4 = (ulonglong)(local_61f4 + 1)" identifier = (call_expression "(ulonglong)(local_61f4 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(local_61f4 + 1)" ( (binary_expression "local_61f4 + 1" identifier + number_literal) )))) ;) (expression_statement "local_6200[local_61f4] = uVar33;" (assignment_expression "local_6200[local_61f4] = uVar33" (subscript_expression "local_6200[local_61f4]" identifier [ identifier ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" identifier (argument_list "(local_6224,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"/Type /Page\n");" (call_expression "WriteBlobString(local_6224,"/Type /Page\n")" identifier (argument_list "(local_6224,"/Type /Page\n")" ( identifier , (string_literal ""/Type /Page\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"/Resources <<\n");" (call_expression "WriteBlobString(local_6224,"/Resources <<\n")" identifier (argument_list "(local_6224,"/Resources <<\n")" ( identifier , (string_literal ""/Resources <<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "piVar25 = (int *)0x0;" (assignment_expression "piVar25 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar27 = GetImageProperty(local_6224,"label",param_3);" (assignment_expression "iVar27 = GetImageProperty(local_6224,"label",param_3)" identifier = (call_expression "GetImageProperty(local_6224,"label",param_3)" identifier (argument_list "(local_6224,"label",param_3)" ( identifier , (string_literal ""label"" " string_content ") , identifier )))) ;) (if_statement "if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }" if (parenthesized_expression "((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0))" ( (binary_expression "(iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)" (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) && (parenthesized_expression "(piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)" ( (comma_expression "piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0" (assignment_expression "piVar25 = (int *)StringToList(iVar27)" identifier = (cast_expression "(int *)StringToList(iVar27)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "StringToList(iVar27)" identifier (argument_list "(iVar27)" ( identifier ))))) , (binary_expression "piVar25 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }" { (expression_statement "uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20)" ( (binary_expression "(ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20" (call_expression "(ulonglong)((double)local_61c4 + (double)DAT_002a9b80)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((double)local_61c4 + (double)DAT_002a9b80)" ( (binary_expression "(double)local_61c4 + (double)DAT_002a9b80" (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier) + (cast_expression "(double)DAT_002a9b80" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" identifier (argument_list "(local_6224,local_5020,uVar12)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20)" ( (binary_expression "(ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20" (call_expression "(ulonglong)((double)local_61c4 + (double)DAT_002a9bb0)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((double)local_61c4 + (double)DAT_002a9bb0)" ( (binary_expression "(double)local_61c4 + (double)DAT_002a9bb0" (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier) + (cast_expression "(double)DAT_002a9bb0" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" identifier (argument_list "(local_6224,local_5020,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);" (assignment_expression "uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20)" identifier = (call_expression "(undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20)" ( (binary_expression "(ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20" (call_expression "(ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc)" (call_expression "(ulonglong)(double)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(double)" ( identifier ))) (argument_list "(((float)local_6090 * DAT_0029f120) / (float)local_61cc)" ( (binary_expression "((float)local_6090 * DAT_0029f120) / (float)local_61cc" (parenthesized_expression "((float)local_6090 * DAT_0029f120)" ( (binary_expression "(float)local_6090 * DAT_0029f120" (cast_expression "(float)local_6090" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )) / (cast_expression "(float)local_61cc" ( (type_descriptor "float" primitive_type) ) identifier)) ))) >> number_literal) )))) ;) (expression_statement "dVar36 = (double)DAT_0029f120;" (assignment_expression "dVar36 = (double)DAT_0029f120" identifier = (cast_expression "(double)DAT_0029f120" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" identifier (argument_list "(local_6224,local_5020,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20)" ( (binary_expression "(ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20" (call_expression "(ulonglong)(((double)local_6090 * dVar36) / local_61cc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(((double)local_6090 * dVar36) / local_61cc)" ( (binary_expression "((double)local_6090 * dVar36) / local_61cc" (parenthesized_expression "((double)local_6090 * dVar36)" ( (binary_expression "(double)local_6090 * dVar36" (cast_expression "(double)local_6090" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )) / identifier) ))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" identifier (argument_list "(local_6224,local_5020,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" identifier (argument_list "(local_6224,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" identifier (argument_list "(local_6224,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" identifier = (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 1] = uVar33;" (assignment_expression "local_6200[local_61f4 + 1] = uVar33" (subscript_expression "local_6200[local_61f4 + 1]" identifier [ (binary_expression "local_61f4 + 1" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" identifier (argument_list "(local_6224,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" identifier (argument_list "(local_6224,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"stream\n");" (call_expression "WriteBlobString(local_6224,"stream\n")" identifier (argument_list "(local_6224,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(local_6224);" (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (expression_statement "WriteBlobString(local_6224,&DAT_003059cb);" (call_expression "WriteBlobString(local_6224,&DAT_003059cb)" identifier (argument_list "(local_6224,&DAT_003059cb)" ( identifier , (pointer_expression "&DAT_003059cb" & identifier) ))) ;) (if_statement "if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }" if (parenthesized_expression "((piVar25 != (int *)0x0) && (*piVar25 != 0))" ( (binary_expression "(piVar25 != (int *)0x0) && (*piVar25 != 0)" (parenthesized_expression "(piVar25 != (int *)0x0)" ( (binary_expression "piVar25 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*piVar25 != 0)" ( (binary_expression "*piVar25 != 0" (pointer_expression "*piVar25" * identifier) != number_literal) ))) )) (compound_statement "{\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);" do (compound_statement "{\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            }" { (expression_statement "WriteBlobString(local_6224,&DAT_003059ce);" (call_expression "WriteBlobString(local_6224,&DAT_003059ce)" identifier (argument_list "(local_6224,&DAT_003059ce)" ( identifier , (pointer_expression "&DAT_003059ce" & identifier) ))) ;) (expression_statement "uVar12 = local_61e4._4_4_;" (assignment_expression "uVar12 = local_61e4._4_4_" identifier = (field_expression "local_61e4._4_4_" identifier . field_identifier)) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" identifier (argument_list "(local_6224,local_5020,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_61cc = (double)(ulonglong)(local_60a0 + local_6098);" (assignment_expression "local_61cc = (double)(ulonglong)(local_60a0 + local_6098)" identifier = (cast_expression "(double)(ulonglong)(local_60a0 + local_6098)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ulonglong)(local_60a0 + local_6098)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(local_60a0 + local_6098)" ( (binary_expression "local_60a0 + local_6098" identifier + identifier) ))))) ;) (expression_statement "uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);" (assignment_expression "uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20)" identifier = (call_expression "(undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20)" ( (binary_expression "(ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20" (call_expression "(ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90)" ( (binary_expression "(double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90" (binary_expression "(double)iVar27 * local_61e4 + (double)(longlong)local_61cc" (binary_expression "(double)iVar27 * local_61e4" (cast_expression "(double)iVar27" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) + (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) + (cast_expression "(double)DAT_002b1d90" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" identifier (argument_list "(local_6224,local_5020,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);" (call_expression "FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27])" identifier (argument_list "(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27])" ( identifier , number_literal , (string_literal ""(%s) Tj\n"" " string_content escape_sequence ") , (subscript_expression "piVar25[iVar27]" identifier [ identifier ]) ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,&DAT_003059fa);" (call_expression "WriteBlobString(local_6224,&DAT_003059fa)" identifier (argument_list "(local_6224,&DAT_003059fa)" ( identifier , (pointer_expression "&DAT_003059fa" & identifier) ))) ;) (expression_statement "iVar11 = DestroyString(piVar25[iVar27]);" (assignment_expression "iVar11 = DestroyString(piVar25[iVar27])" identifier = (call_expression "DestroyString(piVar25[iVar27])" identifier (argument_list "(piVar25[iVar27])" ( (subscript_expression "piVar25[iVar27]" identifier [ identifier ]) )))) ;) (expression_statement "piVar25[iVar27] = iVar11;" (assignment_expression "piVar25[iVar27] = iVar11" (subscript_expression "piVar25[iVar27]" identifier [ identifier ]) = identifier) ;) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar25[iVar27] != 0)" ( (binary_expression "piVar25[iVar27] != 0" (subscript_expression "piVar25[iVar27]" identifier [ identifier ]) != number_literal) )) ;) })) (expression_statement "FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);" (call_expression "FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098)" identifier (argument_list "(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098)" ( identifier , number_literal , (string_literal ""%g 0 0 %g %.20g %.20g cm\n"" " string_content escape_sequence ") , (cast_expression "(double)fVar2" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)fVar1" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)local_609c" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)local_6098" ( (type_descriptor "double" primitive_type) ) identifier) ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,&DAT_00305a25);" (call_expression "WriteBlobString(local_6224,&DAT_00305a25)" identifier (argument_list "(local_6224,&DAT_00305a25)" ( identifier , (pointer_expression "&DAT_00305a25" & identifier) ))) ;) (expression_statement "TellBlob(local_6224);" (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"\nendstream\n");" (call_expression "WriteBlobString(local_6224,"\nendstream\n")" identifier (argument_list "(local_6224,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" identifier (argument_list "(local_6224,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" identifier = (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 2] = uVar33;" (assignment_expression "local_6200[local_61f4 + 2] = uVar33" (subscript_expression "local_6200[local_61f4 + 2]" identifier [ (binary_expression "local_61f4 + 2" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" identifier (argument_list "(local_6224,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" identifier = (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 3] = uVar33;" (assignment_expression "local_6200[local_61f4 + 3] = uVar33" (subscript_expression "local_6200[local_61f4 + 3]" identifier [ (binary_expression "local_61f4 + 3" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (if_statement "if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" if (parenthesized_expression "((*local_6224 == 1) || (0x100 < (uint)local_6224[9]))" ( (binary_expression "(*local_6224 == 1) || (0x100 < (uint)local_6224[9])" (parenthesized_expression "(*local_6224 == 1)" ( (binary_expression "*local_6224 == 1" (pointer_expression "*local_6224" * identifier) == number_literal) )) || (parenthesized_expression "(0x100 < (uint)local_6224[9])" ( (binary_expression "0x100 < (uint)local_6224[9]" number_literal < (cast_expression "(uint)local_6224[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[9]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }" { (expression_statement "CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);" (call_expression "CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000)" identifier (argument_list "(local_5020,"[ /PDF /Text /ImageC",0x1000)" ( identifier , (string_literal ""[ /PDF /Text /ImageC"" " string_content ") , number_literal ))) ;) }) (else_clause "else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" else (if_statement "if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" if (parenthesized_expression "(local_61a4 < 2)" ( (binary_expression "local_61a4 < 2" identifier < number_literal) )) (compound_statement "{\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }" { (expression_statement "CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);" (call_expression "CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000)" identifier (argument_list "(local_5020,"[ /PDF /Text /ImageB",0x1000)" ( identifier , (string_literal ""[ /PDF /Text /ImageB"" " string_content ") , number_literal ))) ;) }) (else_clause "else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" else (compound_statement "{\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" { (expression_statement "CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);" (call_expression "CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000)" identifier (argument_list "(local_5020,"[ /PDF /Text /ImageI",0x1000)" ( identifier , (string_literal ""[ /PDF /Text /ImageI"" " string_content ") , number_literal ))) ;) }))))) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224," ]\n");" (call_expression "WriteBlobString(local_6224," ]\n")" identifier (argument_list "(local_6224," ]\n")" ( identifier , (string_literal "" ]\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" identifier (argument_list "(local_6224,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" identifier = (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 4] = uVar33;" (assignment_expression "local_6200[local_61f4 + 4] = uVar33" (subscript_expression "local_6200[local_61f4 + 4]" identifier [ (binary_expression "local_61f4 + 4" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" identifier (argument_list "(local_6224,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }" if (parenthesized_expression "(piVar25 != (int *)0x0)" ( (binary_expression "piVar25 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }" { (expression_statement "WriteBlobString(local_6224,"/Type /Font\n");" (call_expression "WriteBlobString(local_6224,"/Type /Font\n")" identifier (argument_list "(local_6224,"/Type /Font\n")" ( identifier , (string_literal ""/Type /Font\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"/Subtype /Type1\n");" (call_expression "WriteBlobString(local_6224,"/Subtype /Type1\n")" identifier (argument_list "(local_6224,"/Subtype /Type1\n")" ( identifier , (string_literal ""/Subtype /Type1\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"/BaseFont /Helvetica\n");" (call_expression "WriteBlobString(local_6224,"/BaseFont /Helvetica\n")" identifier (argument_list "(local_6224,"/BaseFont /Helvetica\n")" ( identifier , (string_literal ""/BaseFont /Helvetica\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");" (call_expression "WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n")" identifier (argument_list "(local_6224,"/Encoding /MacRomanEncoding\n")" ( identifier , (string_literal ""/Encoding /MacRomanEncoding\n"" " string_content escape_sequence ") ))) ;) (expression_statement "RelinquishMagickMemory(piVar25);" (call_expression "RelinquishMagickMemory(piVar25)" identifier (argument_list "(piVar25)" ( identifier ))) ;) })) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" identifier (argument_list "(local_6224,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" identifier (argument_list "(local_6224,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" identifier = (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 5] = uVar33;" (assignment_expression "local_6200[local_61f4 + 5] = uVar33" (subscript_expression "local_6200[local_61f4 + 5]" identifier [ (binary_expression "local_61f4 + 5" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" identifier (argument_list "(local_6224,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"/Type /XObject\n");" (call_expression "WriteBlobString(local_6224,"/Type /XObject\n")" identifier (argument_list "(local_6224,"/Type /XObject\n")" ( identifier , (string_literal ""/Type /XObject\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"/Subtype /Image\n");" (call_expression "WriteBlobString(local_6224,"/Subtype /Image\n")" identifier (argument_list "(local_6224,"/Subtype /Image\n")" ( identifier , (string_literal ""/Subtype /Image\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (switch_statement "switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }" { (case_statement "case (uint *)0x0:" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);" (call_expression "CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" identifier (argument_list "(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" ( identifier , (string_literal ""/Filter [ /CCITTFaxDecode ]\n"" " string_content escape_sequence ") , number_literal ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "local_61cc = (double)(ulonglong)(uint)local_6224[7];" (assignment_expression "local_61cc = (double)(ulonglong)(uint)local_6224[7]" identifier = (cast_expression "(double)(ulonglong)(uint)local_6224[7]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)(uint)local_6224[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)local_6224[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[7]" identifier [ number_literal ]))))) ;) (expression_statement "dVar36 = (double)(longlong)local_61cc;" (assignment_expression "dVar36 = (double)(longlong)local_61cc" identifier = (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0023602b;" goto statement_identifier ;)) (case_statement "default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;" default : (expression_statement "pcVar34 = "RunLengthDecode";" (assignment_expression "pcVar34 = "RunLengthDecode"" identifier = (string_literal ""RunLengthDecode"" " string_content ")) ;) (expression_statement "pcVar16 = "/Filter [ /%s ]\n";" (assignment_expression "pcVar16 = "/Filter [ /%s ]\n"" identifier = (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ")) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode")" identifier (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode")" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , (string_literal ""RunLengthDecode"" " string_content ") ))) ;) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,pcVar16);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,pcVar16)" identifier = (cast_expression "(double)CONCAT44(pcVar34,pcVar16)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar34,pcVar16)" identifier (argument_list "(pcVar34,pcVar16)" ( identifier , identifier ))))) ;) (labeled_statement "LAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);" statement_identifier : (expression_statement "WriteBlobString(local_6224,local_5020,dVar36);" (call_expression "WriteBlobString(local_6224,local_5020,dVar36)" identifier (argument_list "(local_6224,local_5020,dVar36)" ( identifier , identifier , identifier ))) ;)) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;" (assignment_expression "local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8" (field_expression "local_61cc._0_4_" identifier . field_identifier) = (binary_expression "(-(uint)(local_61a4 < 2) & 0xfffffff9) + 8" (parenthesized_expression "(-(uint)(local_61a4 < 2) & 0xfffffff9)" ( (binary_expression "-(uint)(local_61a4 < 2) & 0xfffffff9" (unary_expression "-(uint)(local_61a4 < 2)" - (call_expression "(uint)(local_61a4 < 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_61a4 < 2)" ( (binary_expression "local_61a4 < 2" identifier < number_literal) )))) & number_literal) )) + number_literal)) ;) (goto_statement "goto LAB_00235dee;" goto statement_identifier ;)) (case_statement "case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "JPXDecode";" (assignment_expression "pcVar34 = "JPXDecode"" identifier = (string_literal ""JPXDecode"" " string_content ")) ;) (goto_statement "goto code_r0x00235f5e;" goto statement_identifier ;)) (case_statement "case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;" case (cast_expression "(uint *)0x5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "DCTDecode";" (assignment_expression "pcVar34 = "DCTDecode"" identifier = (string_literal ""DCTDecode"" " string_content ")) ;) (labeled_statement "code_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" statement_identifier : (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" identifier (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;)) (if_statement "if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }" if (parenthesized_expression "(local_6224[1] == 2)" ( (binary_expression "local_6224[1] == 2" (subscript_expression "local_6224[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }" { (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);" (call_expression "CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" identifier (argument_list "(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" ( identifier , (string_literal ""/Decode [1 0 1 0 1 0 1 0]\n"" " string_content escape_sequence ") , number_literal ))) ;) })) (goto_statement "goto code_r0x00235d3f;" goto statement_identifier ;)) (case_statement "case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;" case (cast_expression "(uint *)0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "LZWDecode";" (assignment_expression "pcVar34 = "LZWDecode"" identifier = (string_literal ""LZWDecode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;" case (cast_expression "(uint *)0x9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "ASCII85Decode";" (assignment_expression "pcVar34 = "ASCII85Decode"" identifier = (string_literal ""ASCII85Decode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0xd:\n            pcVar34 = "FlateDecode";" case (cast_expression "(uint *)0xd" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "FlateDecode";" (assignment_expression "pcVar34 = "FlateDecode"" identifier = (string_literal ""FlateDecode"" " string_content ")) ;)) })) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" identifier (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;) (labeled_statement "code_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);" statement_identifier : (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;)) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "local_61cc._0_4_ = 8;" (assignment_expression "local_61cc._0_4_ = 8" (field_expression "local_61cc._0_4_" identifier . field_identifier) = number_literal) ;) (labeled_statement "LAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" statement_identifier : (expression_statement "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (call_expression "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" identifier (argument_list "(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" ( identifier , number_literal , (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ") , (field_expression "local_61cc._0_4_" identifier . field_identifier) ))) ;)) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (if_statement "if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }" if (parenthesized_expression "(local_6224[0xa5] != 0)" ( (binary_expression "local_6224[0xa5] != 0" (subscript_expression "local_6224[0xa5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }" { (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) })) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" identifier (argument_list "(local_6224,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar34 = pcVar19;" (assignment_expression "pcVar34 = pcVar19" identifier = identifier) ;) (expression_statement "WriteBlobString(local_6224,"stream\n");" (call_expression "WriteBlobString(local_6224,"stream\n")" identifier (argument_list "(local_6224,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(local_6224);" (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (expression_statement "uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);" (assignment_expression "uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6])" identifier = (call_expression "(uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6])" ( (binary_expression "(ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]" (cast_expression "(ulonglong)(uint)local_6224[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)local_6224[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[7]" identifier [ number_literal ]))) * (cast_expression "(ulonglong)(uint)local_6224[6]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)local_6224[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[6]" identifier [ number_literal ])))) )))) ;) (if_statement "if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }" if (parenthesized_expression "(((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0)" ( (binary_expression "((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0" (binary_expression "((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0" (parenthesized_expression "((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)" ( (binary_expression "(ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000" (binary_expression "(ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]" (cast_expression "(ulonglong)(uint)local_6224[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)local_6224[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[7]" identifier [ number_literal ]))) * (cast_expression "(ulonglong)(uint)local_6224[6]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)local_6224[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[6]" identifier [ number_literal ])))) & number_literal) )) != number_literal) || (binary_expression "uVar10 >> 0x1e != 0" (binary_expression "uVar10 >> 0x1e" identifier >> number_literal) != number_literal)) )) (compound_statement "{\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }" { (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = local_6224 + 0xc6;" (assignment_expression "piVar25 = local_6224 + 0xc6" identifier = (binary_expression "local_6224 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }" while (parenthesized_expression "(piVar5 = local_6224, piVar8 != (int *)0x0)" ( (comma_expression "piVar5 = local_6224, piVar8 != (int *)0x0" (assignment_expression "piVar5 = local_6224" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }" { (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "local_6224 = piVar8;" (assignment_expression "local_6224 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (if_statement "if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }" if (parenthesized_expression "(1 < local_61a4)" ( (binary_expression "1 < local_61a4" number_literal < identifier) )) (compound_statement "{\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }" { (if_statement "if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }" if (parenthesized_expression "((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0))" ( (binary_expression "(param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)" (parenthesized_expression "(param_1[0x6e] != 6)" ( (binary_expression "param_1[0x6e] != 6" (subscript_expression "param_1[0x6e]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)" ( (comma_expression "pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0" (assignment_expression "pcVar34 = param_3" identifier = identifier) , (comma_expression "iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0" (assignment_expression "iVar27 = SetImageGray(local_6224,param_3)" identifier = (call_expression "SetImageGray(local_6224,param_3)" identifier (argument_list "(local_6224,param_3)" ( identifier , identifier )))) , (binary_expression "iVar27 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }" { (switch_statement "switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }" { (case_statement "case (uint *)0x0:" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uint *)0x1:\n                goto LAB_00238a00;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (goto_statement "goto LAB_00238a00;" goto statement_identifier ;)) (case_statement "default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;" default : (expression_statement "local_6194 = AcquireVirtualMemory(uVar10,1);" (assignment_expression "local_6194 = AcquireVirtualMemory(uVar10,1)" identifier = (call_expression "AcquireVirtualMemory(uVar10,1)" identifier (argument_list "(uVar10,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }" if (parenthesized_expression "(local_6194 != 0)" ( (binary_expression "local_6194 != 0" identifier != number_literal) )) (compound_statement "{\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }" { (expression_statement "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);" (assignment_expression "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194)" identifier = (cast_expression "(undefined1 *)GetVirtualMemoryBlob(local_6194)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_6194)" identifier (argument_list "(local_6194)" ( identifier ))))) ;) (if_statement "if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }" if (parenthesized_expression "(0 < local_6224[7])" ( (binary_expression "0 < local_6224[7]" number_literal < (subscript_expression "local_6224[7]" identifier [ number_literal ])) )) (compound_statement "{\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "puVar28 = puVar14;" (assignment_expression "puVar28 = puVar14" identifier = identifier) ;) (do_statement "do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);" do (compound_statement "{\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    }" { (expression_statement "iVar11 = GetVirtualPixels();" (assignment_expression "iVar11 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar24 = puVar28;" (assignment_expression "puVar24 = puVar28" identifier = identifier) ;) (expression_statement "puVar22 = puVar28;" (assignment_expression "puVar22 = puVar28" identifier = identifier) ;) (if_statement "if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }" if (parenthesized_expression "(0 < local_6224[6])" ( (binary_expression "0 < local_6224[6]" number_literal < (subscript_expression "local_6224[6]" identifier [ number_literal ])) )) (compound_statement "{\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }" { (do_statement "do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);" do (compound_statement "{\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        }" { (expression_statement "iVar15 = local_6224[0xaa];" (assignment_expression "iVar15 = local_6224[0xaa]" identifier = (subscript_expression "local_6224[0xaa]" identifier [ number_literal ])) ;) (expression_statement "puVar22 = puVar24 + 1;" (assignment_expression "puVar22 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (expression_statement "fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);" (assignment_expression "fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" identifier = (binary_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" (binary_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" (binary_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404" (cast_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(iVar15 + 0x20) * 8)" ( (binary_expression "iVar11 + *(int *)(iVar15 + 0x20) * 8" identifier + (binary_expression "*(int *)(iVar15 + 0x20) * 8" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) * number_literal)) ))))) * identifier) + (binary_expression "DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" identifier * (cast_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(iVar15 + 0x14) * 8)" ( (binary_expression "iVar11 + *(int *)(iVar15 + 0x14) * 8" identifier + (binary_expression "*(int *)(iVar15 + 0x14) * 8" (pointer_expression "*(int *)(iVar15 + 0x14)" * (cast_expression "(int *)(iVar15 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x14)" ( (binary_expression "iVar15 + 0x14" identifier + number_literal) )))) * number_literal)) ))))))) + (binary_expression "DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" identifier * (cast_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(iVar15 + 8) * 8)" ( (binary_expression "iVar11 + *(int *)(iVar15 + 8) * 8" identifier + (binary_expression "*(int *)(iVar15 + 8) * 8" (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) )))) * number_literal)) )))))))) ;) (if_statement "if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }" if (parenthesized_expression "(0.0 < fVar1)" ( (binary_expression "0.0 < fVar1" number_literal < identifier) )) (compound_statement "{\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }" { (expression_statement "fVar1 = fVar1 / DAT_002a7ff0;" (assignment_expression "fVar1 = fVar1 / DAT_002a7ff0" identifier = (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier)) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }" if (parenthesized_expression "(fVar1 < DAT_002a7ff4)" ( (binary_expression "fVar1 < DAT_002a7ff4" identifier < identifier) )) (compound_statement "{\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar1 + DAT_0029f124)" identifier (argument_list "(fVar1 + DAT_0029f124)" ( (binary_expression "fVar1 + DAT_0029f124" identifier + identifier) )))))) ;) })) })) (expression_statement "*puVar24 = uVar6;" (assignment_expression "*puVar24 = uVar6" (pointer_expression "*puVar24" * identifier) = identifier) ;) (expression_statement "iVar11 = iVar11 + local_6224[0xa6] * 8;" (assignment_expression "iVar11 = iVar11 + local_6224[0xa6] * 8" identifier = (binary_expression "iVar11 + local_6224[0xa6] * 8" identifier + (binary_expression "local_6224[0xa6] * 8" (subscript_expression "local_6224[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar24 = puVar22;" (assignment_expression "puVar24 = puVar22" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar22 - (int)puVar28 < local_6224[6])" ( (binary_expression "(int)puVar22 - (int)puVar28 < local_6224[6]" (binary_expression "(int)puVar22 - (int)puVar28" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar28" ( (type_descriptor "int" primitive_type) ) identifier)) < (subscript_expression "local_6224[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "iVar11 = local_6224[7];" (assignment_expression "iVar11 = local_6224[7]" identifier = (subscript_expression "local_6224[7]" identifier [ number_literal ])) ;) (if_statement "if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }" if (parenthesized_expression "(local_6224[0xccf] == 0)" ( (binary_expression "local_6224[0xccf] == 0" (subscript_expression "local_6224[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }" { (expression_statement "iVar11 = SetImageProgress();" (assignment_expression "iVar11 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = local_6224[7];" (assignment_expression "iVar11 = local_6224[7]" identifier = (subscript_expression "local_6224[7]" identifier [ number_literal ])) ;) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "puVar28 = puVar22;" (assignment_expression "puVar28 = puVar22" identifier = identifier) ;) }) while (parenthesized_expression "(iVar27 < iVar11)" ( (binary_expression "iVar27 < iVar11" identifier < identifier) )) ;) })) (goto_statement "goto LAB_00237039;" goto statement_identifier ;) })) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = local_6224 + 0xc6;" (assignment_expression "piVar25 = local_6224 + 0xc6" identifier = (binary_expression "local_6224 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }" while (parenthesized_expression "(piVar5 = local_6224, piVar8 != (int *)0x0)" ( (comma_expression "piVar5 = local_6224, piVar8 != (int *)0x0" (assignment_expression "piVar5 = local_6224" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }" { (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "local_6224 = piVar8;" (assignment_expression "local_6224 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;)) (case_statement "case (uint *)0x4:\nLAB_00236188:\n                break;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_00236188:\n                break;" statement_identifier : (break_statement "break;" break ;))) (case_statement "case (uint *)0x5:\nLAB_00236760:\n                break;" case (cast_expression "(uint *)0x5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_00236760:\n                break;" statement_identifier : (break_statement "break;" break ;))) (case_statement "case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;" case (cast_expression "(uint *)0x9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "Ascii85Initialize(local_6224);" (call_expression "Ascii85Initialize(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (if_statement "if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }" if (parenthesized_expression "(0 < local_6224[7])" ( (binary_expression "0 < local_6224[7]" number_literal < (subscript_expression "local_6224[7]" identifier [ number_literal ])) )) (compound_statement "{\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);" do (compound_statement "{\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  }" { (expression_statement "pcVar34 = param_3;" (assignment_expression "pcVar34 = param_3" identifier = identifier) ;) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);" do (compound_statement "{\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      }" { (expression_statement "iVar15 = piVar31[0xaa];" (assignment_expression "iVar15 = piVar31[0xaa]" identifier = (subscript_expression "piVar31[0xaa]" identifier [ number_literal ])) ;) (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;" (assignment_expression "fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" identifier = (binary_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" (binary_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" (binary_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404" (cast_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(iVar15 + 0x20) * 8)" ( (binary_expression "iVar27 + *(int *)(iVar15 + 0x20) * 8" identifier + (binary_expression "*(int *)(iVar15 + 0x20) * 8" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) * number_literal)) ))))) * identifier) + (binary_expression "DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" identifier * (cast_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(iVar15 + 0x14) * 8)" ( (binary_expression "iVar27 + *(int *)(iVar15 + 0x14) * 8" identifier + (binary_expression "*(int *)(iVar15 + 0x14) * 8" (pointer_expression "*(int *)(iVar15 + 0x14)" * (cast_expression "(int *)(iVar15 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x14)" ( (binary_expression "iVar15 + 0x14" identifier + number_literal) )))) * number_literal)) ))))))) + (binary_expression "DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" identifier * (cast_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(iVar15 + 8) * 8)" ( (binary_expression "iVar27 + *(int *)(iVar15 + 8) * 8" identifier + (binary_expression "*(int *)(iVar15 + 8) * 8" (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) )))) * number_literal)) )))))))) ;) (if_statement "if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < fVar1)" ( (binary_expression "0.0 < fVar1" number_literal < identifier) )) (compound_statement "{\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }" { (expression_statement "fVar1 = fVar1 / DAT_002a7ff0;" (assignment_expression "fVar1 = fVar1 / DAT_002a7ff0" identifier = (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier)) ;) (expression_statement "pcVar34 = (char *)0xff;" (assignment_expression "pcVar34 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }" if (parenthesized_expression "(fVar1 < DAT_002a7ff4)" ( (binary_expression "fVar1 < DAT_002a7ff4" identifier < identifier) )) (compound_statement "{\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }" { (expression_statement "pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);" (assignment_expression "pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar1 + DAT_0029f124)" identifier (argument_list "(fVar1 + DAT_0029f124)" ( (binary_expression "fVar1 + DAT_0029f124" identifier + identifier) )))))))) ;) })) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(piVar31,pcVar34);" (call_expression "Ascii85Encode(piVar31,pcVar34)" identifier (argument_list "(piVar31,pcVar34)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar27 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "(iVar11 < piVar31[6])" ( (binary_expression "iVar11 < piVar31[6]" identifier < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) (if_statement "if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }" if (parenthesized_expression "(piVar31[0xccf] == 0)" ( (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }" { (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar27 = SetImageProgress();" (assignment_expression "iVar27 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)local_6224 < iVar27)" ( (binary_expression "(int)local_6224 < iVar27" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) (goto_statement "goto LAB_002368f4;" goto statement_identifier ;)) })) (expression_statement "iVar27 = InjectImageBlob();" (assignment_expression "iVar27 = InjectImageBlob()" identifier = (call_expression "InjectImageBlob()" identifier (argument_list "()" ( )))) ;) (labeled_statement "joined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;" statement_identifier : (if_statement "if (iVar27 != 0) goto LAB_002361b2;" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002361b2;" goto statement_identifier ;))) (goto_statement "goto LAB_0023707e;" goto statement_identifier ;) })) (if_statement "if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }" if (parenthesized_expression "(((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2))" ( (binary_expression "((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)" (parenthesized_expression "((*local_6224 == 1) || (0x100 < (uint)local_6224[9]))" ( (binary_expression "(*local_6224 == 1) || (0x100 < (uint)local_6224[9])" (parenthesized_expression "(*local_6224 == 1)" ( (binary_expression "*local_6224 == 1" (pointer_expression "*local_6224" * identifier) == number_literal) )) || (parenthesized_expression "(0x100 < (uint)local_6224[9])" ( (binary_expression "0x100 < (uint)local_6224[9]" number_literal < (cast_expression "(uint)local_6224[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[9]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "(local_61b8 - 0xb < 2)" ( (binary_expression "local_61b8 - 0xb < 2" (binary_expression "local_61b8 - 0xb" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }" { (if_statement "if (local_61b8 == 0xc) goto LAB_00236760;" if (parenthesized_expression "(local_61b8 == 0xc)" ( (binary_expression "local_61b8 == 0xc" identifier == number_literal) )) (goto_statement "goto LAB_00236760;" goto statement_identifier ;)) (if_statement "if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }" if (parenthesized_expression "(local_61b8 != 0x10)" ( (binary_expression "local_61b8 != 0x10" identifier != number_literal) )) (compound_statement "{\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }" { (if_statement "if (local_61b8 == 0xb) goto LAB_00236188;" if (parenthesized_expression "(local_61b8 == 0xb)" ( (binary_expression "local_61b8 == 0xb" identifier == number_literal) )) (goto_statement "goto LAB_00236188;" goto statement_identifier ;)) (expression_statement "iVar27 = ((local_6224[1] == 2) + 3) * uVar10;" (assignment_expression "iVar27 = ((local_6224[1] == 2) + 3) * uVar10" identifier = (binary_expression "((local_6224[1] == 2) + 3) * uVar10" (parenthesized_expression "((local_6224[1] == 2) + 3)" ( (binary_expression "(local_6224[1] == 2) + 3" (parenthesized_expression "(local_6224[1] == 2)" ( (binary_expression "local_6224[1] == 2" (subscript_expression "local_6224[1]" identifier [ number_literal ]) == number_literal) )) + number_literal) )) * identifier)) ;) (expression_statement "local_6194 = AcquireVirtualMemory(iVar27,1);" (assignment_expression "local_6194 = AcquireVirtualMemory(iVar27,1)" identifier = (call_expression "AcquireVirtualMemory(iVar27,1)" identifier (argument_list "(iVar27,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }" if (parenthesized_expression "(local_6194 == 0)" ( (binary_expression "local_6194 == 0" identifier == number_literal) )) (compound_statement "{\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }" { (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = local_6224 + 0xc6;" (assignment_expression "piVar25 = local_6224 + 0xc6" identifier = (binary_expression "local_6224 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }" while (parenthesized_expression "(piVar5 = local_6224, piVar8 != (int *)0x0)" ( (comma_expression "piVar5 = local_6224, piVar8 != (int *)0x0" (assignment_expression "piVar5 = local_6224" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }" { (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "local_6224 = piVar8;" (assignment_expression "local_6224 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (expression_statement "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);" (assignment_expression "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194)" identifier = (cast_expression "(undefined1 *)GetVirtualMemoryBlob(local_6194)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_6194)" identifier (argument_list "(local_6194)" ( identifier ))))) ;) (if_statement "if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }" if (parenthesized_expression "(0 < local_6224[7])" ( (binary_expression "0 < local_6224[7]" number_literal < (subscript_expression "local_6224[7]" identifier [ number_literal ])) )) (compound_statement "{\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar28 = puVar14;" (assignment_expression "puVar28 = puVar14" identifier = identifier) ;) (do_statement "do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);" do (compound_statement "{\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  }" { (expression_statement "iVar11 = GetVirtualPixels();" (assignment_expression "iVar11 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "puVar24 = puVar28;" (assignment_expression "puVar24 = puVar28" identifier = identifier) ;) (do_statement "do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);" do (compound_statement "{\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      }" { (expression_statement "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);" (assignment_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8)" identifier = (pointer_expression "*(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8)" ( (binary_expression "iVar11 + *(int *)(piVar31[0xaa] + 8) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 8) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 8)" * (cast_expression "(int *)(piVar31[0xaa] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 8)" ( (binary_expression "piVar31[0xaa] + 8" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "*puVar24 = uVar6;" (assignment_expression "*puVar24 = uVar6" (pointer_expression "*puVar24" * identifier) = identifier) ;) (expression_statement "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);" (assignment_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8)" identifier = (pointer_expression "*(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8)" ( (binary_expression "iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x14) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x14)" * (cast_expression "(int *)(piVar31[0xaa] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x14)" ( (binary_expression "piVar31[0xaa] + 0x14" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "puVar24[1] = uVar6;" (assignment_expression "puVar24[1] = uVar6" (subscript_expression "puVar24[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);" (assignment_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8)" identifier = (pointer_expression "*(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8)" ( (binary_expression "iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x20) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x20)" * (cast_expression "(int *)(piVar31[0xaa] + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x20)" ( (binary_expression "piVar31[0xaa] + 0x20" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "puVar24[2] = uVar6;" (assignment_expression "puVar24[2] = uVar6" (subscript_expression "puVar24[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }" if (parenthesized_expression "(piVar31[1] == 2)" ( (binary_expression "piVar31[1] == 2" (subscript_expression "piVar31[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }" { (expression_statement "puVar28 = puVar24 + 4;" (assignment_expression "puVar28 = puVar24 + 4" identifier = (binary_expression "puVar24 + 4" identifier + number_literal)) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }" if (parenthesized_expression "((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36))" ( (binary_expression "(*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)" (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x28) != 0)" ( (binary_expression "*(int *)(piVar31[0xaa] + 0x28) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x28)" * (cast_expression "(int *)(piVar31[0xaa] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x28)" ( (binary_expression "piVar31[0xaa] + 0x28" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)" ( (comma_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36" (assignment_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" ( (binary_expression "iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x2c) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x2c)" * (cast_expression "(int *)(piVar31[0xaa] + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x2c)" ( (binary_expression "piVar31[0xaa] + 0x2c" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) , (binary_expression "0.0 < dVar36" number_literal < identifier)) ))) )) (compound_statement "{\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "puVar24[3] = uVar6;" (assignment_expression "puVar24[3] = uVar6" (subscript_expression "puVar24[3]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                          puVar28 = puVar24 + 3;\n                        }" else (compound_statement "{\n                          puVar28 = puVar24 + 3;\n                        }" { (expression_statement "puVar28 = puVar24 + 3;" (assignment_expression "puVar28 = puVar24 + 3" identifier = (binary_expression "puVar24 + 3" identifier + number_literal)) ;) }))) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = iVar11 + piVar31[0xa6] * 8;" (assignment_expression "iVar11 = iVar11 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar11 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar24 = puVar28;" (assignment_expression "puVar24 = puVar28" identifier = identifier) ;) }) while (parenthesized_expression "(iVar15 < piVar31[6])" ( (binary_expression "iVar15 < piVar31[6]" identifier < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "iVar11 = piVar31[7];" (assignment_expression "iVar11 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) (if_statement "if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }" if (parenthesized_expression "(piVar31[0xccf] == 0)" ( (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }" { (expression_statement "iVar11 = SetImageProgress();" (assignment_expression "iVar11 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = piVar31[7];" (assignment_expression "iVar11 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)local_6224 < iVar11)" ( (binary_expression "(int)local_6224 < iVar11" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) (if_statement "if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }" if (parenthesized_expression "(local_61b8 == 0xf)" ( (binary_expression "local_61b8 == 0xf" identifier == number_literal) )) (compound_statement "{\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }" { (expression_statement "iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);" (assignment_expression "iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3)" identifier = (call_expression "LZWEncodeImage(piVar31,iVar27,puVar14,param_3)" identifier (argument_list "(piVar31,iVar27,puVar14,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }" else (compound_statement "{\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }" { (expression_statement "iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);" (assignment_expression "iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3)" identifier = (call_expression "PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3)" identifier (argument_list "(piVar31,iVar27,puVar14,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }))) (goto_statement "goto LAB_00237064;" goto statement_identifier ;) })) (expression_statement "Ascii85Initialize(local_6224);" (call_expression "Ascii85Initialize(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (if_statement "if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }" if (parenthesized_expression "(0 < local_6224[7])" ( (binary_expression "0 < local_6224[7]" number_literal < (subscript_expression "local_6224[7]" identifier [ number_literal ])) )) (compound_statement "{\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);" do (compound_statement "{\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                }" { (expression_statement "pcVar34 = param_3;" (assignment_expression "pcVar34 = param_3" identifier = identifier) ;) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);" do (compound_statement "{\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    }" { (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 8) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 8) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 8)" * (cast_expression "(int *)(piVar31[0xaa] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 8)" ( (binary_expression "piVar31[0xaa] + 8" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x14) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x14)" * (cast_expression "(int *)(piVar31[0xaa] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x14)" ( (binary_expression "piVar31[0xaa] + 0x14" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x20) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x20)" * (cast_expression "(int *)(piVar31[0xaa] + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x20)" ( (binary_expression "piVar31[0xaa] + 0x20" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "pcVar34 = (char *)0xff;" (assignment_expression "pcVar34 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" { (expression_statement "pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,pcVar34);" (call_expression "Ascii85Encode(piVar31,pcVar34)" identifier (argument_list "(piVar31,pcVar34)" ( identifier , identifier ))) ;) (if_statement "if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }" if (parenthesized_expression "(piVar31[1] == 2)" ( (binary_expression "piVar31[1] == 2" (subscript_expression "piVar31[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }" { (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }" if (parenthesized_expression "((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36))" ( (binary_expression "(*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)" (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x28) != 0)" ( (binary_expression "*(int *)(piVar31[0xaa] + 0x28) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x28)" * (cast_expression "(int *)(piVar31[0xaa] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x28)" ( (binary_expression "piVar31[0xaa] + 0x28" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)" ( (comma_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x2c) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x2c)" * (cast_expression "(int *)(piVar31[0xaa] + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x2c)" ( (binary_expression "piVar31[0xaa] + 0x2c" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) , (binary_expression "0.0 < dVar36" number_literal < identifier)) ))) )) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "pcVar34 = (char *)0xff;" (assignment_expression "pcVar34 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" { (expression_statement "pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );" (assignment_expression "pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" identifier (argument_list "(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,pcVar34);" (call_expression "Ascii85Encode(piVar31,pcVar34)" identifier (argument_list "(piVar31,pcVar34)" ( identifier , identifier ))) ;) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar27 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "(iVar11 < piVar31[6])" ( (binary_expression "iVar11 < piVar31[6]" identifier < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) (if_statement "if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }" if (parenthesized_expression "(piVar31[0xccf] == 0)" ( (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }" { (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar27 = SetImageProgress();" (assignment_expression "iVar27 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)local_6224 < iVar27)" ( (binary_expression "(int)local_6224 < iVar27" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) }) (else_clause "else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }" else (compound_statement "{\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }" { (if_statement "if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }" if (parenthesized_expression "(local_61b8 != 0x10)" ( (binary_expression "local_61b8 != 0x10" identifier != number_literal) )) (compound_statement "{\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }" { (expression_statement "local_6194 = AcquireVirtualMemory(uVar10,1);" (assignment_expression "local_6194 = AcquireVirtualMemory(uVar10,1)" identifier = (call_expression "AcquireVirtualMemory(uVar10,1)" identifier (argument_list "(uVar10,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }" if (parenthesized_expression "(local_6194 != 0)" ( (binary_expression "local_6194 != 0" identifier != number_literal) )) (compound_statement "{\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }" { (expression_statement "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);" (assignment_expression "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194)" identifier = (cast_expression "(undefined1 *)GetVirtualMemoryBlob(local_6194)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_6194)" identifier (argument_list "(local_6194)" ( identifier ))))) ;) (if_statement "if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }" if (parenthesized_expression "(0 < local_6224[7])" ( (binary_expression "0 < local_6224[7]" number_literal < (subscript_expression "local_6224[7]" identifier [ number_literal ])) )) (compound_statement "{\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar28 = puVar14;" (assignment_expression "puVar28 = puVar14" identifier = identifier) ;) (do_statement "do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);" do (compound_statement "{\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    }" { (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar24 = puVar28;" (assignment_expression "puVar24 = puVar28" identifier = identifier) ;) (expression_statement "puVar22 = puVar28;" (assignment_expression "puVar22 = puVar28" identifier = identifier) ;) (if_statement "if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }" { (do_statement "do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);" do (compound_statement "{\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }" if (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x40) != 0)" ( (binary_expression "*(int *)(piVar31[0xaa] + 0x40) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x40)" * (cast_expression "(int *)(piVar31[0xaa] + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x40)" ( (binary_expression "piVar31[0xaa] + 0x40" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }" { (expression_statement "uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));" (assignment_expression "uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" identifier = (cast_expression "(undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" identifier (argument_list "(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" ( (pointer_expression "*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" * (cast_expression "(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x44) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x44)" * (cast_expression "(int *)(piVar31[0xaa] + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x44)" ( (binary_expression "piVar31[0xaa] + 0x44" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) )))) )))))) ;) })) (expression_statement "puVar22 = puVar24 + 1;" (assignment_expression "puVar22 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (expression_statement "*puVar24 = uVar6;" (assignment_expression "*puVar24 = uVar6" (pointer_expression "*puVar24" * identifier) = identifier) ;) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar27 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar24 = puVar22;" (assignment_expression "puVar24 = puVar22" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar22 - (int)puVar28 < piVar31[6])" ( (binary_expression "(int)puVar22 - (int)puVar28 < piVar31[6]" (binary_expression "(int)puVar22 - (int)puVar28" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar28" ( (type_descriptor "int" primitive_type) ) identifier)) < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) (if_statement "if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }" if (parenthesized_expression "(piVar31[0xccf] == 0)" ( (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }" { (expression_statement "iVar27 = SetImageProgress();" (assignment_expression "iVar27 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar28 = puVar22;" (assignment_expression "puVar28 = puVar22" identifier = identifier) ;) }) while (parenthesized_expression "((int)local_6224 < iVar27)" ( (binary_expression "(int)local_6224 < iVar27" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) (labeled_statement "LAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" statement_identifier : (if_statement "if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" if (parenthesized_expression "(local_61b8 == 0xf)" ( (binary_expression "local_61b8 == 0xf" identifier == number_literal) )) (compound_statement "{\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" { (expression_statement "iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);" (assignment_expression "iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3)" identifier = (call_expression "LZWEncodeImage(piVar31,uVar10,puVar14,param_3)" identifier (argument_list "(piVar31,uVar10,puVar14,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" else (compound_statement "{\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" { (expression_statement "iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);" (assignment_expression "iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3)" identifier = (call_expression "PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3)" identifier (argument_list "(piVar31,uVar10,puVar14,param_3)" ( identifier , identifier , identifier , identifier )))) ;) })))) (labeled_statement "LAB_00237064:\n                  RelinquishVirtualMemory(local_6194);" statement_identifier : (expression_statement "RelinquishVirtualMemory(local_6194);" (call_expression "RelinquishVirtualMemory(local_6194)" identifier (argument_list "(local_6194)" ( identifier ))) ;)) (goto_statement "goto joined_r0x002361ac;" goto statement_identifier ;) })) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = local_6224 + 0xc6;" (assignment_expression "piVar25 = local_6224 + 0xc6" identifier = (binary_expression "local_6224 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (if_statement "if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }" if (parenthesized_expression "(param_1[3] != 0)" ( (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }" { (expression_statement "piVar8 = (int *)local_6224[0xccf];" (assignment_expression "piVar8 = (int *)local_6224[0xccf]" identifier = (cast_expression "(int *)local_6224[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_6224[0xccf]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }" while (parenthesized_expression "(piVar5 = piVar8, piVar5 != (int *)0x0)" ( (comma_expression "piVar5 = piVar8, piVar5 != (int *)0x0" (assignment_expression "piVar5 = piVar8" identifier = identifier) , (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }" { (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) })) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (expression_statement "Ascii85Initialize(local_6224);" (call_expression "Ascii85Initialize(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (if_statement "if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }" if (parenthesized_expression "(0 < local_6224[7])" ( (binary_expression "0 < local_6224[7]" number_literal < (subscript_expression "local_6224[7]" identifier [ number_literal ])) )) (compound_statement "{\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);" do (compound_statement "{\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                }" { (expression_statement "pcVar34 = param_3;" (assignment_expression "pcVar34 = param_3" identifier = identifier) ;) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);" do (compound_statement "{\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    }" { (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }" if (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x40) != 0)" ( (binary_expression "*(int *)(piVar31[0xaa] + 0x40) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x40)" * (cast_expression "(int *)(piVar31[0xaa] + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x40)" ( (binary_expression "piVar31[0xaa] + 0x40" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }" { (expression_statement "pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);" (assignment_expression "pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff)" identifier = (cast_expression "(char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff)" ( (binary_expression "(int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff" (cast_expression "(int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     )" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     )" identifier (argument_list "(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     )" ( (pointer_expression "*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" * (cast_expression "(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x44) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x44)" * (cast_expression "(int *)(piVar31[0xaa] + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x44)" ( (binary_expression "piVar31[0xaa] + 0x44" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) )))) )))) & number_literal) )))) ;) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(piVar31,pcVar34);" (call_expression "Ascii85Encode(piVar31,pcVar34)" identifier (argument_list "(piVar31,pcVar34)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar27 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "(iVar11 < piVar31[6])" ( (binary_expression "iVar11 < piVar31[6]" identifier < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) (if_statement "if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }" if (parenthesized_expression "(piVar31[0xccf] == 0)" ( (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }" { (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar27 = SetImageProgress();" (assignment_expression "iVar27 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)local_6224 < iVar27)" ( (binary_expression "(int)local_6224 < iVar27" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) }))) (labeled_statement "LAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);" statement_identifier : (expression_statement "Ascii85Flush(piVar31,pcVar34);" (call_expression "Ascii85Flush(piVar31,pcVar34)" identifier (argument_list "(piVar31,pcVar34)" ( identifier , identifier ))) ;)) (goto_statement "goto LAB_002361b2;" goto statement_identifier ;) })) (labeled_statement "LAB_00238a00:\n          iVar27 = LocaleCompare("0","0");" statement_identifier : (expression_statement "iVar27 = LocaleCompare("0","0");" (assignment_expression "iVar27 = LocaleCompare("0","0")" identifier = (call_expression "LocaleCompare("0","0")" identifier (argument_list "("0","0")" ( (string_literal ""0"" " string_content ") , (string_literal ""0"" " string_content ") )))) ;)) (if_statement "if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (compound_statement "{\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }" { (expression_statement "HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);" (call_expression "HuffmanEncodeImage(param_1,local_6224,local_6224,param_3)" identifier (argument_list "(param_1,local_6224,local_6224,param_3)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n            FUN_00233f80(param_3);\n          }" else (compound_statement "{\n            FUN_00233f80(param_3);\n          }" { (expression_statement "FUN_00233f80(param_3);" (call_expression "FUN_00233f80(param_3)" identifier (argument_list "(param_3)" ( identifier ))) ;) }))) (labeled_statement "LAB_002361b2:\n          TellBlob(piVar31);" statement_identifier : (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;)) (expression_statement "WriteBlobString(piVar31,"\nendstream\n");" (call_expression "WriteBlobString(piVar31,"\nendstream\n")" identifier (argument_list "(piVar31,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 6] = uVar33;" (assignment_expression "local_6200[local_61f4 + 6] = uVar33" (subscript_expression "local_6200[local_61f4 + 6]" identifier [ (binary_expression "local_61f4 + 6" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar10 = local_61f4 + 8;" (assignment_expression "uVar10 = local_61f4 + 8" identifier = (binary_expression "local_61f4 + 8" identifier + number_literal)) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 7] = uVar33;" (assignment_expression "local_6200[local_61f4 + 7] = uVar33" (subscript_expression "local_6200[local_61f4 + 7]" identifier [ (binary_expression "local_61f4 + 7" identifier + number_literal) ]) = identifier) ;) (expression_statement "local_61c4 = (ulonglong)uVar10;" (assignment_expression "local_61c4 = (ulonglong)uVar10" identifier = (cast_expression "(ulonglong)uVar10" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "local_620c = "endobj\n";" (assignment_expression "local_620c = "endobj\n"" identifier = (string_literal ""endobj\n"" " string_content escape_sequence ")) ;) (if_statement "if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }" if (parenthesized_expression "(piVar31[1] == 2)" ( (binary_expression "piVar31[1] == 2" (subscript_expression "piVar31[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }" { (if_statement "if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }" { (expression_statement "pcVar34 = "DeviceCMYK";" (assignment_expression "pcVar34 = "DeviceCMYK"" identifier = (string_literal ""DeviceCMYK"" " string_content ")) ;) (goto_statement "goto LAB_0023814a;" goto statement_identifier ;) })) (expression_statement "pcVar34 = "DeviceCMYK";" (assignment_expression "pcVar34 = "DeviceCMYK"" identifier = (string_literal ""DeviceCMYK"" " string_content ")) ;) (labeled_statement "LAB_0023632d:\n            puVar35 = &UNK_00305bee;" statement_identifier : (expression_statement "puVar35 = &UNK_00305bee;" (assignment_expression "puVar35 = &UNK_00305bee" identifier = (pointer_expression "&UNK_00305bee" & identifier)) ;)) (expression_statement "FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34)" identifier (argument_list "(local_5020,0x1000,&UNK_00305bee,pcVar34)" ( identifier , number_literal , (pointer_expression "&UNK_00305bee" & identifier) , identifier ))) ;) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,puVar35);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,puVar35)" identifier = (cast_expression "(double)CONCAT44(pcVar34,puVar35)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar34,puVar35)" identifier (argument_list "(pcVar34,puVar35)" ( identifier , identifier ))))) ;) (labeled_statement "LAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);" statement_identifier : (expression_statement "WriteBlobString(piVar31,local_5020,dVar36);" (call_expression "WriteBlobString(piVar31,local_5020,dVar36)" identifier (argument_list "(piVar31,local_5020,dVar36)" ( identifier , identifier , identifier ))) ;)) }) (else_clause "else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }" else (compound_statement "{\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }" { (if_statement "if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" if (parenthesized_expression "((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0))))" ( (binary_expression "(local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))" (parenthesized_expression "(local_61a4 < 2)" ( (binary_expression "local_61a4 < 2" identifier < number_literal) )) || (parenthesized_expression "((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))" ( (parenthesized_expression "(param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0))" ( (binary_expression "param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)" (binary_expression "param_1[0x6e] != 6" (subscript_expression "param_1[0x6e]" identifier [ number_literal ]) != number_literal) && (parenthesized_expression "(iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)" ( (comma_expression "iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0" (assignment_expression "iVar27 = SetImageGray(piVar31,param_3)" identifier = (call_expression "SetImageGray(piVar31,param_3)" identifier (argument_list "(piVar31,param_3)" ( identifier , identifier )))) , (binary_expression "iVar27 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }" { (expression_statement "pcVar34 = "DeviceGray";" (assignment_expression "pcVar34 = "DeviceGray"" identifier = (string_literal ""DeviceGray"" " string_content ")) ;) (if_statement "if (iVar7 == 0) goto LAB_0023632d;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0023632d;" goto statement_identifier ;)) (expression_statement "pcVar34 = "DeviceGray";" (assignment_expression "pcVar34 = "DeviceGray"" identifier = (string_literal ""DeviceGray"" " string_content ")) ;) }) (else_clause "else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" else (if_statement "if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" if (parenthesized_expression "(((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2))" ( (binary_expression "((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)" (parenthesized_expression "((*piVar31 == 1) || (0x100 < (uint)piVar31[9]))" ( (binary_expression "(*piVar31 == 1) || (0x100 < (uint)piVar31[9])" (parenthesized_expression "(*piVar31 == 1)" ( (binary_expression "*piVar31 == 1" (pointer_expression "*piVar31" * identifier) == number_literal) )) || (parenthesized_expression "(0x100 < (uint)piVar31[9])" ( (binary_expression "0x100 < (uint)piVar31[9]" number_literal < (cast_expression "(uint)piVar31[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar31[9]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "(local_61b8 - 0xb < 2)" ( (binary_expression "local_61b8 - 0xb < 2" (binary_expression "local_61b8 - 0xb" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }" { (expression_statement "pcVar34 = "DeviceRGB";" (assignment_expression "pcVar34 = "DeviceRGB"" identifier = (string_literal ""DeviceRGB"" " string_content ")) ;) (if_statement "if (iVar7 == 0) goto LAB_0023632d;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0023632d;" goto statement_identifier ;)) }) (else_clause "else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" else (compound_statement "{\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" { (if_statement "if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }" { (expression_statement "dVar36 = (double)local_61c4 + (double)DAT_002a9b78;" (assignment_expression "dVar36 = (double)local_61c4 + (double)DAT_002a9b78" identifier = (binary_expression "(double)local_61c4 + (double)DAT_002a9b78" (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier) + (cast_expression "(double)DAT_002a9b78" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00236346;" goto statement_identifier ;) })) (expression_statement "pcVar34 = "DeviceRGB";" (assignment_expression "pcVar34 = "DeviceRGB"" identifier = (string_literal ""DeviceRGB"" " string_content ")) ;) }))))) (labeled_statement "LAB_0023814a:\n            FormatLocaleString();" statement_identifier : (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;)) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 8] = uVar33;" (assignment_expression "local_6200[local_61f4 + 8] = uVar33" (subscript_expression "local_6200[local_61f4 + 8]" identifier [ (binary_expression "local_61f4 + 8" identifier + number_literal) ]) = identifier) ;) (expression_statement "local_61e4 = (double)(ulonglong)(local_61f4 + 9);" (assignment_expression "local_61e4 = (double)(ulonglong)(local_61f4 + 9)" identifier = (cast_expression "(double)(ulonglong)(local_61f4 + 9)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ulonglong)(local_61f4 + 9)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(local_61f4 + 9)" ( (binary_expression "local_61f4 + 9" identifier + number_literal) ))))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20)" ( (binary_expression "(ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20" (call_expression "(ulonglong)((double)(longlong)local_61e4 + 1.0)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((double)(longlong)local_61e4 + 1.0)" ( (binary_expression "(double)(longlong)local_61e4 + 1.0" (cast_expression "(double)(longlong)local_61e4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61e4" ( (type_descriptor "longlong" type_identifier) ) identifier)) + number_literal) ))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020,uVar12,pcVar34);" (call_expression "WriteBlobString(piVar31,local_5020,uVar12,pcVar34)" identifier (argument_list "(piVar31,local_5020,uVar12,pcVar34)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "iVar27 = GetStringInfoDatum(iVar7);" (assignment_expression "iVar27 = GetStringInfoDatum(iVar7)" identifier = (call_expression "GetStringInfoDatum(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) ;) (for_statement "for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }" for ( (assignment_expression "iVar11 = 0" identifier = number_literal) ; (comma_expression "iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15" (assignment_expression "iVar15 = GetStringInfoLength(iVar7)" identifier = (call_expression "GetStringInfoLength(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) , (binary_expression "iVar11 < iVar15" identifier < identifier)) ; (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ) (compound_statement "{\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }" { (expression_statement "Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));" (call_expression "Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11))" identifier (argument_list "(piVar31,*(undefined1 *)(iVar27 + iVar11))" ( identifier , (pointer_expression "*(undefined1 *)(iVar27 + iVar11)" * (cast_expression "(undefined1 *)(iVar27 + iVar11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + iVar11)" ( (binary_expression "iVar27 + iVar11" identifier + identifier) )))) ))) ;) })) (expression_statement "Ascii85Flush(piVar31);" (call_expression "Ascii85Flush(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"endstream\n");" (call_expression "WriteBlobString(piVar31,"endstream\n")" identifier (argument_list "(piVar31,"endstream\n")" ( identifier , (string_literal ""endstream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar10 = local_61f4 + 10;" (assignment_expression "uVar10 = local_61f4 + 10" identifier = (binary_expression "local_61f4 + 10" identifier + number_literal)) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 9] = uVar33;" (assignment_expression "local_6200[local_61f4 + 9] = uVar33" (subscript_expression "local_6200[local_61f4 + 9]" identifier [ (binary_expression "local_61f4 + 9" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,uVar12);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,uVar12)" identifier = (cast_expression "(double)CONCAT44(pcVar34,uVar12)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar34,uVar12)" identifier (argument_list "(pcVar34,uVar12)" ( identifier , identifier ))))) ;) }))) (expression_statement "WriteBlobString(piVar31,"endobj\n",dVar36);" (call_expression "WriteBlobString(piVar31,"endobj\n",dVar36)" identifier (argument_list "(piVar31,"endobj\n",dVar36)" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "SetGeometry(piVar31,&local_60a4);" (call_expression "SetGeometry(piVar31,&local_60a4)" identifier (argument_list "(piVar31,&local_60a4)" ( identifier , (pointer_expression "&local_60a4" & identifier) ))) ;) (expression_statement "ParseMetaGeometry();" (call_expression "ParseMetaGeometry()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar12 = GetImageOption(param_1,"pdf:thumbnail");" (assignment_expression "uVar12 = GetImageOption(param_1,"pdf:thumbnail")" identifier = (call_expression "GetImageOption(param_1,"pdf:thumbnail")" identifier (argument_list "(param_1,"pdf:thumbnail")" ( identifier , (string_literal ""pdf:thumbnail"" " string_content ") )))) ;) (expression_statement "iVar7 = IsStringTrue(uVar12);" (assignment_expression "iVar7 = IsStringTrue(uVar12)" identifier = (call_expression "IsStringTrue(uVar12)" identifier (argument_list "(uVar12)" ( identifier )))) ;) (if_statement "if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            ParseMetaGeometry();\n          }" { (expression_statement "ParseMetaGeometry();" (call_expression "ParseMetaGeometry()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);" (assignment_expression "puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3)" identifier = (cast_expression "(uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ThumbnailImage(piVar31,local_60a4,local_60a0,param_3)" identifier (argument_list "(piVar31,local_60a4,local_60a0,param_3)" ( identifier , identifier , identifier , identifier ))))) ;) (if_statement "if (puVar13 == (uint *)0x0) goto LAB_002345f8;" if (parenthesized_expression "(puVar13 == (uint *)0x0)" ( (binary_expression "puVar13 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002345f8;" goto statement_identifier ;)) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[uVar10] = uVar33;" (assignment_expression "local_6200[uVar10] = uVar33" (subscript_expression "local_6200[uVar10]" identifier [ identifier ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"<<\n");" (call_expression "WriteBlobString(piVar31,"<<\n")" identifier (argument_list "(piVar31,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (switch_statement "switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }" { (case_statement "case (uint *)0x0:" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);" (call_expression "CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" identifier (argument_list "(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" ( identifier , (string_literal ""/Filter [ /CCITTFaxDecode ]\n"" " string_content escape_sequence ") , number_literal ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "local_61c4 = (ulonglong)puVar13[7];" (assignment_expression "local_61c4 = (ulonglong)puVar13[7]" identifier = (cast_expression "(ulonglong)puVar13[7]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) ;) (expression_statement "dVar36 = (double)local_61c4;" (assignment_expression "dVar36 = (double)local_61c4" identifier = (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto code_r0x0023649f;" goto statement_identifier ;)) (case_statement "default:\n            pcVar34 = "RunLengthDecode";\n            break;" default : (expression_statement "pcVar34 = "RunLengthDecode";" (assignment_expression "pcVar34 = "RunLengthDecode"" identifier = (string_literal ""RunLengthDecode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "JPXDecode";" (assignment_expression "pcVar34 = "JPXDecode"" identifier = (string_literal ""JPXDecode"" " string_content ")) ;) (goto_statement "goto code_r0x00236676;" goto statement_identifier ;)) (case_statement "case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;" case (cast_expression "(uint *)0x5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "DCTDecode";" (assignment_expression "pcVar34 = "DCTDecode"" identifier = (string_literal ""DCTDecode"" " string_content ")) ;) (labeled_statement "code_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";" statement_identifier : (expression_statement "pcVar16 = "/Filter [ /%s ]\n";" (assignment_expression "pcVar16 = "/Filter [ /%s ]\n"" identifier = (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ")) ;)) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" identifier (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,pcVar16);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,pcVar16)" identifier = (cast_expression "(double)CONCAT44(pcVar34,pcVar16)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar34,pcVar16)" identifier (argument_list "(pcVar34,pcVar16)" ( identifier , identifier ))))) ;) (if_statement "if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }" if (parenthesized_expression "(puVar13[1] == 2)" ( (binary_expression "puVar13[1] == 2" (subscript_expression "puVar13[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }" { (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "uVar12 = 0x1000;" (assignment_expression "uVar12 = 0x1000" identifier = number_literal) ;) (expression_statement "CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);" (call_expression "CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" identifier (argument_list "(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" ( identifier , (string_literal ""/Decode [1 0 1 0 1 0 1 0]\n"" " string_content escape_sequence ") , number_literal ))) ;) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,uVar12);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,uVar12)" identifier = (cast_expression "(double)CONCAT44(pcVar34,uVar12)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar34,uVar12)" identifier (argument_list "(pcVar34,uVar12)" ( identifier , identifier ))))) ;) })) (goto_statement "goto code_r0x0023649f;" goto statement_identifier ;)) (case_statement "case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;" case (cast_expression "(uint *)0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "LZWDecode";" (assignment_expression "pcVar34 = "LZWDecode"" identifier = (string_literal ""LZWDecode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;" case (cast_expression "(uint *)0x9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "ASCII85Decode";" (assignment_expression "pcVar34 = "ASCII85Decode"" identifier = (string_literal ""ASCII85Decode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0xd:\n            pcVar34 = "FlateDecode";" case (cast_expression "(uint *)0xd" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "FlateDecode";" (assignment_expression "pcVar34 = "FlateDecode"" identifier = (string_literal ""FlateDecode"" " string_content ")) ;)) })) (expression_statement "pcVar16 = "/Filter [ /%s ]\n";" (assignment_expression "pcVar16 = "/Filter [ /%s ]\n"" identifier = (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ")) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" identifier (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,pcVar16);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,pcVar16)" identifier = (cast_expression "(double)CONCAT44(pcVar34,pcVar16)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar34,pcVar16)" identifier (argument_list "(pcVar34,pcVar16)" ( identifier , identifier ))))) ;) (labeled_statement "code_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);" statement_identifier : (expression_statement "WriteBlobString(piVar31,local_5020,dVar36);" (call_expression "WriteBlobString(piVar31,local_5020,dVar36)" identifier (argument_list "(piVar31,local_5020,dVar36)" ( identifier , identifier , identifier ))) ;)) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "pcVar34 = "/BitsPerComponent %d\n";" (assignment_expression "pcVar34 = "/BitsPerComponent %d\n"" identifier = (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ")) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (call_expression "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" identifier (argument_list "(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" ( identifier , number_literal , (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ") , (field_expression "local_61cc._0_4_" identifier . field_identifier) ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" identifier (argument_list "(piVar31,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar16 = pcVar19;" (assignment_expression "pcVar16 = pcVar19" identifier = identifier) ;) (expression_statement "WriteBlobString(piVar31,"stream\n");" (call_expression "WriteBlobString(piVar31,"stream\n")" identifier (argument_list "(piVar31,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }" if (parenthesized_expression "(local_61a4 < 2)" ( (binary_expression "local_61a4 < 2" identifier < number_literal) )) (compound_statement "{\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }" { (labeled_statement "LAB_00238a40:\n            iVar7 = LocaleCompare("0","0");" statement_identifier : (expression_statement "iVar7 = LocaleCompare("0","0");" (assignment_expression "iVar7 = LocaleCompare("0","0")" identifier = (call_expression "LocaleCompare("0","0")" identifier (argument_list "("0","0")" ( (string_literal ""0"" " string_content ") , (string_literal ""0"" " string_content ") )))) ;)) (if_statement "if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }" { (expression_statement "pcVar34 = (char *)puVar13;" (assignment_expression "pcVar34 = (char *)puVar13" identifier = (cast_expression "(char *)puVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);" (call_expression "HuffmanEncodeImage(param_1,piVar31,puVar13,param_3)" identifier (argument_list "(param_1,piVar31,puVar13,param_3)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              FUN_00233f80(param_3);\n            }" else (compound_statement "{\n              FUN_00233f80(param_3);\n            }" { (expression_statement "FUN_00233f80(param_3);" (call_expression "FUN_00233f80(param_3)" identifier (argument_list "(param_3)" ( identifier ))) ;) }))) (goto_statement "goto LAB_00236939;" goto statement_identifier ;) })) (expression_statement "iVar7 = puVar13[7] * puVar13[6];" (assignment_expression "iVar7 = puVar13[7] * puVar13[6]" identifier = (binary_expression "puVar13[7] * puVar13[6]" (subscript_expression "puVar13[7]" identifier [ number_literal ]) * (subscript_expression "puVar13[6]" identifier [ number_literal ]))) ;) (if_statement "if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }" if (parenthesized_expression "((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0))" ( (binary_expression "(param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)" (parenthesized_expression "(param_1[0x6e] == 6)" ( (binary_expression "param_1[0x6e] == 6" (subscript_expression "param_1[0x6e]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)" ( (comma_expression "pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0" (assignment_expression "pcVar16 = param_3" identifier = identifier) , (comma_expression "iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0" (assignment_expression "iVar27 = SetImageGray(puVar13,param_3)" identifier = (call_expression "SetImageGray(puVar13,param_3)" identifier (argument_list "(puVar13,param_3)" ( identifier , identifier )))) , (binary_expression "iVar27 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }" { (if_statement "if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }" if (parenthesized_expression "((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb))))" ( (binary_expression "(*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))" (parenthesized_expression "(*puVar13 != 1)" ( (binary_expression "*puVar13 != 1" (pointer_expression "*puVar13" * identifier) != number_literal) )) && (parenthesized_expression "((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))" ( (parenthesized_expression "(puVar13[9] < 0x101 && (1 < local_61b8 - 0xb))" ( (binary_expression "puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)" (binary_expression "puVar13[9] < 0x101" (subscript_expression "puVar13[9]" identifier [ number_literal ]) < number_literal) && (parenthesized_expression "(1 < local_61b8 - 0xb)" ( (binary_expression "1 < local_61b8 - 0xb" number_literal < (binary_expression "local_61b8 - 0xb" identifier - number_literal)) ))) )) ))) )) (compound_statement "{\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }" { (if_statement "if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }" if (parenthesized_expression "(local_61b8 == 0x10)" ( (binary_expression "local_61b8 == 0x10" identifier == number_literal) )) (compound_statement "{\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }" { (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }" if (parenthesized_expression "(0 < (int)puVar13[7])" ( (binary_expression "0 < (int)puVar13[7]" number_literal < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) (compound_statement "{\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }" { (expression_statement "local_61dc = 0;" (assignment_expression "local_61dc = 0" identifier = number_literal) ;) (do_statement "do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);" do (compound_statement "{\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  }" { (expression_statement "pcVar16 = param_3;" (assignment_expression "pcVar16 = param_3" identifier = identifier) ;) (expression_statement "iVar7 = GetVirtualPixels();" (assignment_expression "iVar7 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }" if (parenthesized_expression "(0 < (int)puVar13[6])" ( (binary_expression "0 < (int)puVar13[6]" number_literal < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);" do (compound_statement "{\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      }" { (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }" if (parenthesized_expression "(*(int *)(puVar13[0xaa] + 0x40) != 0)" ( (binary_expression "*(int *)(puVar13[0xaa] + 0x40) != 0" (pointer_expression "*(int *)(puVar13[0xaa] + 0x40)" * (cast_expression "(int *)(puVar13[0xaa] + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x40)" ( (binary_expression "puVar13[0xaa] + 0x40" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }" { (expression_statement "pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);" (assignment_expression "pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff)" identifier = (cast_expression "(char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff)" ( (binary_expression "(int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff" (cast_expression "(int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         ))" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         ))" identifier (argument_list "(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         ))" ( (pointer_expression "*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )" * (cast_expression "(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )" ( (binary_expression "iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x44) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x44)" * (cast_expression "(int *)(puVar13[0xaa] + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x44)" ( (binary_expression "puVar13[0xaa] + 0x44" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) )))) )))) & number_literal) )))) ;) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) (expression_statement "iVar7 = iVar7 + piVar31[0xa6] * 8;" (assignment_expression "iVar7 = iVar7 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar7 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "(iVar27 < (int)puVar13[6])" ( (binary_expression "iVar27 < (int)puVar13[6]" identifier < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "local_61dc = local_61dc + 1;" (assignment_expression "local_61dc = local_61dc + 1" identifier = (binary_expression "local_61dc + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_61dc < (int)puVar13[7])" ( (binary_expression "local_61dc < (int)puVar13[7]" identifier < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) ;) })) (goto_statement "goto LAB_00236e87;" goto statement_identifier ;) })) (expression_statement "local_61dc = AcquireVirtualMemory(iVar7,1);" (assignment_expression "local_61dc = AcquireVirtualMemory(iVar7,1)" identifier = (call_expression "AcquireVirtualMemory(iVar7,1)" identifier (argument_list "(iVar7,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }" if (parenthesized_expression "(local_61dc != 0)" ( (binary_expression "local_61dc != 0" identifier != number_literal) )) (compound_statement "{\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }" { (expression_statement "local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);" (assignment_expression "local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc)" identifier = (cast_expression "(uint *)GetVirtualMemoryBlob(local_61dc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_61dc)" identifier (argument_list "(local_61dc)" ( identifier ))))) ;) (if_statement "if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }" if (parenthesized_expression "(0 < (int)puVar13[7])" ( (binary_expression "0 < (int)puVar13[7]" number_literal < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) (compound_statement "{\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "puVar29 = local_61a8;" (assignment_expression "puVar29 = local_61a8" identifier = identifier) ;) (do_statement "do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);" do (compound_statement "{\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  }" { (expression_statement "iVar11 = GetVirtualPixels();" (assignment_expression "iVar11 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar20 = puVar29;" (assignment_expression "puVar20 = puVar29" identifier = identifier) ;) (expression_statement "puVar23 = puVar29;" (assignment_expression "puVar23 = puVar29" identifier = identifier) ;) (if_statement "if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }" if (parenthesized_expression "(0 < (int)puVar13[6])" ( (binary_expression "0 < (int)puVar13[6]" number_literal < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }" { (do_statement "do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);" do (compound_statement "{\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      }" { (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }" if (parenthesized_expression "(*(int *)(puVar13[0xaa] + 0x40) != 0)" ( (binary_expression "*(int *)(puVar13[0xaa] + 0x40) != 0" (pointer_expression "*(int *)(puVar13[0xaa] + 0x40)" * (cast_expression "(int *)(puVar13[0xaa] + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x40)" ( (binary_expression "puVar13[0xaa] + 0x40" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }" { (expression_statement "cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));" (assignment_expression "cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" identifier = (cast_expression "(char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" ( (type_descriptor "char" primitive_type) ) (cast_expression "(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" identifier (argument_list "(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" ( (pointer_expression "*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8)" * (cast_expression "(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8)" ( (binary_expression "iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x44) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x44)" * (cast_expression "(int *)(puVar13[0xaa] + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x44)" ( (binary_expression "puVar13[0xaa] + 0x44" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) )))) )))))) ;) })) (expression_statement "puVar23 = (uint *)((int)puVar20 + 1);" (assignment_expression "puVar23 = (uint *)((int)puVar20 + 1)" identifier = (cast_expression "(uint *)((int)puVar20 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 1)" ( (binary_expression "(int)puVar20 + 1" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char *)puVar20 = cVar21;" (assignment_expression "*(char *)puVar20 = cVar21" (pointer_expression "*(char *)puVar20" * (cast_expression "(char *)puVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "iVar11 = iVar11 + puVar13[0xa6] * 8;" (assignment_expression "iVar11 = iVar11 + puVar13[0xa6] * 8" identifier = (binary_expression "iVar11 + puVar13[0xa6] * 8" identifier + (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar20 = puVar23;" (assignment_expression "puVar20 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar23 - (int)puVar29 < (int)puVar13[6])" ( (binary_expression "(int)puVar23 - (int)puVar29 < (int)puVar13[6]" (binary_expression "(int)puVar23 - (int)puVar29" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "puVar29 = puVar23;" (assignment_expression "puVar29 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "(iVar27 < (int)puVar13[7])" ( (binary_expression "iVar27 < (int)puVar13[7]" identifier < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) ;) })) (goto_statement "goto LAB_0023720b;" goto statement_identifier ;) })) (expression_statement "DestroyImage(puVar13);" (call_expression "DestroyImage(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = piVar31 + 0xc6;" (assignment_expression "piVar25 = piVar31 + 0xc6" identifier = (binary_expression "piVar31 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (if_statement "if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }" if (parenthesized_expression "(param_1[3] != 0)" ( (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }" { (expression_statement "piVar8 = (int *)piVar31[0xccf];" (assignment_expression "piVar8 = (int *)piVar31[0xccf]" identifier = (cast_expression "(int *)piVar31[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar31[0xccf]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }" while (parenthesized_expression "(piVar5 = piVar8, piVar5 != (int *)0x0)" ( (comma_expression "piVar5 = piVar8, piVar5 != (int *)0x0" (assignment_expression "piVar5 = piVar8" identifier = identifier) , (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }" { (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) })) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (if_statement "if (local_61b8 == 0xc) goto LAB_00236910;" if (parenthesized_expression "(local_61b8 == 0xc)" ( (binary_expression "local_61b8 == 0xc" identifier == number_literal) )) (goto_statement "goto LAB_00236910;" goto statement_identifier ;)) (if_statement "if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }" if (parenthesized_expression "(local_61b8 == 0x10)" ( (binary_expression "local_61b8 == 0x10" identifier == number_literal) )) (compound_statement "{\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }" { (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if ((int)puVar13[7] < 1) goto LAB_00236e87;" if (parenthesized_expression "((int)puVar13[7] < 1)" ( (binary_expression "(int)puVar13[7] < 1" (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ])) < number_literal) )) (goto_statement "goto LAB_00236e87;" goto statement_identifier ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);" do (compound_statement "{\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              }" { (expression_statement "pcVar16 = param_3;" (assignment_expression "pcVar16 = param_3" identifier = identifier) ;) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }" if (parenthesized_expression "(0 < (int)puVar13[6])" ( (binary_expression "0 < (int)puVar13[6]" number_literal < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);" do (compound_statement "{\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  }" { (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8)" ( (binary_expression "iVar27 + *(int *)(puVar13[0xaa] + 8) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 8) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 8)" * (cast_expression "(int *)(puVar13[0xaa] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 8)" ( (binary_expression "puVar13[0xaa] + 8" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8)" ( (binary_expression "iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x14) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x14)" * (cast_expression "(int *)(puVar13[0xaa] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x14)" ( (binary_expression "puVar13[0xaa] + 0x14" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8)" ( (binary_expression "iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x20) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x20)" * (cast_expression "(int *)(puVar13[0xaa] + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x20)" ( (binary_expression "puVar13[0xaa] + 0x20" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) (if_statement "if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }" if (parenthesized_expression "(piVar31[1] == 2)" ( (binary_expression "piVar31[1] == 2" (subscript_expression "piVar31[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }" { (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36))" ( (binary_expression "(*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)" (parenthesized_expression "(*(int *)(puVar13[0xaa] + 0x28) != 0)" ( (binary_expression "*(int *)(puVar13[0xaa] + 0x28) != 0" (pointer_expression "*(int *)(puVar13[0xaa] + 0x28)" * (cast_expression "(int *)(puVar13[0xaa] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x28)" ( (binary_expression "puVar13[0xaa] + 0x28" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)" ( (comma_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" ( (binary_expression "iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x2c) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x2c)" * (cast_expression "(int *)(puVar13[0xaa] + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x2c)" ( (binary_expression "puVar13[0xaa] + 0x2c" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) , (binary_expression "0.0 < dVar36" number_literal < identifier)) ))) )) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" { (expression_statement "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar27 = iVar27 + puVar13[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + puVar13[0xa6] * 8" identifier = (binary_expression "iVar27 + puVar13[0xa6] * 8" identifier + (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "((int)local_6224 < (int)puVar13[6])" ( (binary_expression "(int)local_6224 < (int)puVar13[6]" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 < (int)puVar13[7])" ( (binary_expression "iVar7 < (int)puVar13[7]" identifier < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) ;) (expression_statement "Ascii85Flush(piVar31,pcVar16);" (call_expression "Ascii85Flush(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00236939;" goto statement_identifier ;) })) (if_statement "if (local_61b8 == 0xb) goto LAB_00236d20;" if (parenthesized_expression "(local_61b8 == 0xb)" ( (binary_expression "local_61b8 == 0xb" identifier == number_literal) )) (goto_statement "goto LAB_00236d20;" goto statement_identifier ;)) (expression_statement "iVar7 = iVar7 * ((puVar13[1] == 2) + 3);" (assignment_expression "iVar7 = iVar7 * ((puVar13[1] == 2) + 3)" identifier = (binary_expression "iVar7 * ((puVar13[1] == 2) + 3)" identifier * (parenthesized_expression "((puVar13[1] == 2) + 3)" ( (binary_expression "(puVar13[1] == 2) + 3" (parenthesized_expression "(puVar13[1] == 2)" ( (binary_expression "puVar13[1] == 2" (subscript_expression "puVar13[1]" identifier [ number_literal ]) == number_literal) )) + number_literal) )))) ;) (expression_statement "iVar27 = AcquireVirtualMemory(iVar7,4);" (assignment_expression "iVar27 = AcquireVirtualMemory(iVar7,4)" identifier = (call_expression "AcquireVirtualMemory(iVar7,4)" identifier (argument_list "(iVar7,4)" ( identifier , number_literal )))) ;) (if_statement "if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (compound_statement "{\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }" { (expression_statement "DestroyImage(puVar13);" (call_expression "DestroyImage(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = piVar31 + 0xc6;" (assignment_expression "piVar25 = piVar31 + 0xc6" identifier = (binary_expression "piVar31 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (expression_statement "piVar5 = piVar31;" (assignment_expression "piVar5 = piVar31" identifier = identifier) ;) (while_statement "while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }" while (parenthesized_expression "(piVar3 = piVar5, piVar8 != (int *)0x0)" ( (comma_expression "piVar3 = piVar5, piVar8 != (int *)0x0" (assignment_expression "piVar3 = piVar5" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }" { (expression_statement "piVar8 = (int *)piVar3[0xccf];" (assignment_expression "piVar8 = (int *)piVar3[0xccf]" identifier = (cast_expression "(int *)piVar3[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "piVar5 = piVar8;" (assignment_expression "piVar5 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar3;" (assignment_expression "piVar31 = piVar3" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (expression_statement "pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);" (assignment_expression "pcVar34 = (char *)GetVirtualMemoryBlob(iVar27)" identifier = (cast_expression "(char *)GetVirtualMemoryBlob(iVar27)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(iVar27)" identifier (argument_list "(iVar27)" ( identifier ))))) ;) (if_statement "if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }" if (parenthesized_expression "(0 < (int)puVar13[7])" ( (binary_expression "0 < (int)puVar13[7]" number_literal < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) (compound_statement "{\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "puVar29 = (uint *)pcVar34;" (assignment_expression "puVar29 = (uint *)pcVar34" identifier = (cast_expression "(uint *)pcVar34" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);" do (compound_statement "{\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              }" { (expression_statement "iVar15 = GetVirtualPixels();" (assignment_expression "iVar15 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }" if (parenthesized_expression "(0 < (int)puVar13[6])" ( (binary_expression "0 < (int)puVar13[6]" number_literal < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }" { (expression_statement "iVar30 = 0;" (assignment_expression "iVar30 = 0" identifier = number_literal) ;) (expression_statement "puVar20 = puVar29;" (assignment_expression "puVar20 = puVar29" identifier = identifier) ;) (do_statement "do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);" do (compound_statement "{\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  }" { (expression_statement "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);" (assignment_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8)" identifier = (pointer_expression "*(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8)" * (cast_expression "(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8)" ( (binary_expression "iVar15 + *(int *)(puVar13[0xaa] + 8) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 8) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 8)" * (cast_expression "(int *)(puVar13[0xaa] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 8)" ( (binary_expression "puVar13[0xaa] + 8" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "*(char *)puVar20 = cVar21;" (assignment_expression "*(char *)puVar20 = cVar21" (pointer_expression "*(char *)puVar20" * (cast_expression "(char *)puVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);" (assignment_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8)" identifier = (pointer_expression "*(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8)" * (cast_expression "(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8)" ( (binary_expression "iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x14) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x14)" * (cast_expression "(int *)(puVar13[0xaa] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x14)" ( (binary_expression "puVar13[0xaa] + 0x14" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "*(char *)((int)puVar20 + 1) = cVar21;" (assignment_expression "*(char *)((int)puVar20 + 1) = cVar21" (pointer_expression "*(char *)((int)puVar20 + 1)" * (cast_expression "(char *)((int)puVar20 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 1)" ( (binary_expression "(int)puVar20 + 1" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);" (assignment_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8)" identifier = (pointer_expression "*(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8)" * (cast_expression "(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8)" ( (binary_expression "iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x20) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x20)" * (cast_expression "(int *)(puVar13[0xaa] + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x20)" ( (binary_expression "puVar13[0xaa] + 0x20" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "*(char *)((int)puVar20 + 2) = cVar21;" (assignment_expression "*(char *)((int)puVar20 + 2) = cVar21" (pointer_expression "*(char *)((int)puVar20 + 2)" * (cast_expression "(char *)((int)puVar20 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 2)" ( (binary_expression "(int)puVar20 + 2" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }" if (parenthesized_expression "(puVar13[1] == 2)" ( (binary_expression "puVar13[1] == 2" (subscript_expression "puVar13[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }" { (expression_statement "puVar29 = puVar20 + 1;" (assignment_expression "puVar29 = puVar20 + 1" identifier = (binary_expression "puVar20 + 1" identifier + number_literal)) ;) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36))" ( (binary_expression "(*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)" (parenthesized_expression "(*(int *)(puVar13[0xaa] + 0x28) != 0)" ( (binary_expression "*(int *)(puVar13[0xaa] + 0x28) != 0" (pointer_expression "*(int *)(puVar13[0xaa] + 0x28)" * (cast_expression "(int *)(puVar13[0xaa] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x28)" ( (binary_expression "puVar13[0xaa] + 0x28" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)" ( (comma_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36" (assignment_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" * (cast_expression "(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" ( (binary_expression "iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x2c) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x2c)" * (cast_expression "(int *)(puVar13[0xaa] + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x2c)" ( (binary_expression "puVar13[0xaa] + 0x2c" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) , (binary_expression "0.0 < dVar36" number_literal < identifier)) ))) )) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" { (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "*(char *)((int)puVar20 + 3) = cVar21;" (assignment_expression "*(char *)((int)puVar20 + 3) = cVar21" (pointer_expression "*(char *)((int)puVar20 + 3)" * (cast_expression "(char *)((int)puVar20 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 3)" ( (binary_expression "(int)puVar20 + 3" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }" else (compound_statement "{\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }" { (expression_statement "puVar29 = (uint *)((int)puVar20 + 3);" (assignment_expression "puVar29 = (uint *)((int)puVar20 + 3)" identifier = (cast_expression "(uint *)((int)puVar20 + 3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 3)" ( (binary_expression "(int)puVar20 + 3" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (expression_statement "iVar30 = iVar30 + 1;" (assignment_expression "iVar30 = iVar30 + 1" identifier = (binary_expression "iVar30 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = iVar15 + puVar13[0xa6] * 8;" (assignment_expression "iVar15 = iVar15 + puVar13[0xa6] * 8" identifier = (binary_expression "iVar15 + puVar13[0xa6] * 8" identifier + (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar20 = puVar29;" (assignment_expression "puVar20 = puVar29" identifier = identifier) ;) }) while (parenthesized_expression "(iVar30 < (int)puVar13[6])" ( (binary_expression "iVar30 < (int)puVar13[6]" identifier < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 < (int)puVar13[7])" ( (binary_expression "iVar11 < (int)puVar13[7]" identifier < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) ;) })) (if_statement "if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }" if (parenthesized_expression "(local_61b8 == 0xf)" ( (binary_expression "local_61b8 == 0xf" identifier == number_literal) )) (compound_statement "{\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }" { (expression_statement "iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);" (assignment_expression "iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier = (call_expression "LZWEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier (argument_list "(piVar31,iVar7,pcVar34,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }" else (compound_statement "{\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }" { (expression_statement "iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);" (assignment_expression "iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier = (call_expression "PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier (argument_list "(piVar31,iVar7,pcVar34,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }))) (expression_statement "RelinquishVirtualMemory(iVar27);" (call_expression "RelinquishVirtualMemory(iVar27)" identifier (argument_list "(iVar27)" ( identifier ))) ;) (if_statement "if (iVar7 != 0) goto LAB_00236939;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00236939;" goto statement_identifier ;)) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0023707e:\n            RelinquishMagickMemory(local_6200);" statement_identifier : (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;)) (expression_statement "CloseBlob(piVar31);" (call_expression "CloseBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (goto_statement "goto LAB_002345fa;" goto statement_identifier ;) })) (switch_statement "switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }" { (case_statement "case (uint *)0x0:" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uint *)0x1:\n            goto LAB_00238a40;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (goto_statement "goto LAB_00238a40;" goto statement_identifier ;)) (case_statement "default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;" default : (expression_statement "local_61dc = AcquireVirtualMemory(iVar7,1);" (assignment_expression "local_61dc = AcquireVirtualMemory(iVar7,1)" identifier = (call_expression "AcquireVirtualMemory(iVar7,1)" identifier (argument_list "(iVar7,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }" if (parenthesized_expression "(local_61dc != 0)" ( (binary_expression "local_61dc != 0" identifier != number_literal) )) (compound_statement "{\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }" { (expression_statement "local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);" (assignment_expression "local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc)" identifier = (cast_expression "(uint *)GetVirtualMemoryBlob(local_61dc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_61dc)" identifier (argument_list "(local_61dc)" ( identifier ))))) ;) (if_statement "if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }" if (parenthesized_expression "(0 < (int)puVar13[7])" ( (binary_expression "0 < (int)puVar13[7]" number_literal < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) (compound_statement "{\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "puVar29 = local_61a8;" (assignment_expression "puVar29 = local_61a8" identifier = identifier) ;) (do_statement "do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);" do (compound_statement "{\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                }" { (expression_statement "iVar11 = GetVirtualPixels();" (assignment_expression "iVar11 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar20 = puVar29;" (assignment_expression "puVar20 = puVar29" identifier = identifier) ;) (expression_statement "puVar23 = puVar29;" (assignment_expression "puVar23 = puVar29" identifier = identifier) ;) (if_statement "if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }" if (parenthesized_expression "(0 < (int)puVar13[6])" ( (binary_expression "0 < (int)puVar13[6]" number_literal < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }" { (do_statement "do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);" do (compound_statement "{\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    }" { (expression_statement "uVar18 = puVar13[0xaa];" (assignment_expression "uVar18 = puVar13[0xaa]" identifier = (subscript_expression "puVar13[0xaa]" identifier [ number_literal ])) ;) (expression_statement "puVar23 = (uint *)((int)puVar20 + 1);" (assignment_expression "puVar23 = (uint *)((int)puVar20 + 1)" identifier = (cast_expression "(uint *)((int)puVar20 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 1)" ( (binary_expression "(int)puVar20 + 1" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);" (assignment_expression "fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" identifier = (binary_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" (binary_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" (binary_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404" (cast_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(uVar18 + 0x20) * 8)" ( (binary_expression "iVar11 + *(int *)(uVar18 + 0x20) * 8" identifier + (binary_expression "*(int *)(uVar18 + 0x20) * 8" (pointer_expression "*(int *)(uVar18 + 0x20)" * (cast_expression "(int *)(uVar18 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x20)" ( (binary_expression "uVar18 + 0x20" identifier + number_literal) )))) * number_literal)) ))))) * identifier) + (binary_expression "DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" identifier * (cast_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(uVar18 + 0x14) * 8)" ( (binary_expression "iVar11 + *(int *)(uVar18 + 0x14) * 8" identifier + (binary_expression "*(int *)(uVar18 + 0x14) * 8" (pointer_expression "*(int *)(uVar18 + 0x14)" * (cast_expression "(int *)(uVar18 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x14)" ( (binary_expression "uVar18 + 0x14" identifier + number_literal) )))) * number_literal)) ))))))) + (binary_expression "DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" identifier * (cast_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(uVar18 + 8) * 8)" ( (binary_expression "iVar11 + *(int *)(uVar18 + 8) * 8" identifier + (binary_expression "*(int *)(uVar18 + 8) * 8" (pointer_expression "*(int *)(uVar18 + 8)" * (cast_expression "(int *)(uVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 8)" ( (binary_expression "uVar18 + 8" identifier + number_literal) )))) * number_literal)) )))))))) ;) (if_statement "if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "(0.0 < fVar1)" ( (binary_expression "0.0 < fVar1" number_literal < identifier) )) (compound_statement "{\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }" { (expression_statement "fVar1 = fVar1 / DAT_002a7ff0;" (assignment_expression "fVar1 = fVar1 / DAT_002a7ff0" identifier = (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier)) ;) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) (if_statement "if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }" if (parenthesized_expression "(fVar1 < DAT_002a7ff4)" ( (binary_expression "fVar1 < DAT_002a7ff4" identifier < identifier) )) (compound_statement "{\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }" { (expression_statement "cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124)" identifier = (cast_expression "(char)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar1 + DAT_0029f124)" identifier (argument_list "(fVar1 + DAT_0029f124)" ( (binary_expression "fVar1 + DAT_0029f124" identifier + identifier) )))))) ;) })) })) (expression_statement "*(char *)puVar20 = cVar21;" (assignment_expression "*(char *)puVar20 = cVar21" (pointer_expression "*(char *)puVar20" * (cast_expression "(char *)puVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "iVar11 = iVar11 + puVar13[0xa6] * 8;" (assignment_expression "iVar11 = iVar11 + puVar13[0xa6] * 8" identifier = (binary_expression "iVar11 + puVar13[0xa6] * 8" identifier + (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar20 = puVar23;" (assignment_expression "puVar20 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar23 - (int)puVar29 < (int)puVar13[6])" ( (binary_expression "(int)puVar23 - (int)puVar29 < (int)puVar13[6]" (binary_expression "(int)puVar23 - (int)puVar29" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "puVar29 = puVar23;" (assignment_expression "puVar29 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "(iVar27 < (int)puVar13[7])" ( (binary_expression "iVar27 < (int)puVar13[7]" identifier < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) ;) })) (labeled_statement "LAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" statement_identifier : (if_statement "if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" if (parenthesized_expression "(local_61b8 == 0xf)" ( (binary_expression "local_61b8 == 0xf" identifier == number_literal) )) (compound_statement "{\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" { (expression_statement "iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);" (assignment_expression "iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3)" identifier = (call_expression "LZWEncodeImage(piVar31,iVar7,local_61a8,param_3)" identifier (argument_list "(piVar31,iVar7,local_61a8,param_3)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "pcVar34 = (char *)local_61a8;" (assignment_expression "pcVar34 = (char *)local_61a8" identifier = (cast_expression "(char *)local_61a8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" else (compound_statement "{\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" { (expression_statement "iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);" (assignment_expression "iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3)" identifier = (call_expression "PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3)" identifier (argument_list "(piVar31,iVar7,local_61a8,param_3)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "pcVar34 = (char *)local_61a8;" (assignment_expression "pcVar34 = (char *)local_61a8" identifier = (cast_expression "(char *)local_61a8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })))) (expression_statement "RelinquishVirtualMemory(local_61dc);" (call_expression "RelinquishVirtualMemory(local_61dc)" identifier (argument_list "(local_61dc)" ( identifier ))) ;) (if_statement "if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0023707e;" goto statement_identifier ;) })) (goto_statement "goto LAB_00236939;" goto statement_identifier ;) })) (expression_statement "DestroyImage(puVar13);" (call_expression "DestroyImage(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = piVar31 + 0xc6;" (assignment_expression "piVar25 = piVar31 + 0xc6" identifier = (binary_expression "piVar31 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (expression_statement "piVar5 = piVar31;" (assignment_expression "piVar5 = piVar31" identifier = identifier) ;) (while_statement "while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }" while (parenthesized_expression "(piVar3 = piVar5, piVar8 != (int *)0x0)" ( (comma_expression "piVar3 = piVar5, piVar8 != (int *)0x0" (assignment_expression "piVar3 = piVar5" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }" { (expression_statement "piVar8 = (int *)piVar3[0xccf];" (assignment_expression "piVar8 = (int *)piVar3[0xccf]" identifier = (cast_expression "(int *)piVar3[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "piVar5 = piVar8;" (assignment_expression "piVar5 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar3;" (assignment_expression "piVar31 = piVar3" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;)) (case_statement "case (uint *)0x4:\nLAB_00236d20:\n            break;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_00236d20:\n            break;" statement_identifier : (break_statement "break;" break ;))) (case_statement "case (uint *)0x5:\nLAB_00236910:\n            break;" case (cast_expression "(uint *)0x5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_00236910:\n            break;" statement_identifier : (break_statement "break;" break ;))) (case_statement "case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;" case (cast_expression "(uint *)0x9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }" if (parenthesized_expression "(0 < (int)puVar13[7])" ( (binary_expression "0 < (int)puVar13[7]" number_literal < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) (compound_statement "{\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);" do (compound_statement "{\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              }" { (expression_statement "pcVar16 = param_3;" (assignment_expression "pcVar16 = param_3" identifier = identifier) ;) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }" if (parenthesized_expression "(0 < (int)puVar13[6])" ( (binary_expression "0 < (int)puVar13[6]" number_literal < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);" do (compound_statement "{\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  }" { (expression_statement "uVar18 = puVar13[0xaa];" (assignment_expression "uVar18 = puVar13[0xaa]" identifier = (subscript_expression "puVar13[0xaa]" identifier [ number_literal ])) ;) (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);" (assignment_expression "fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" identifier = (binary_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" (binary_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" (binary_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404" (cast_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(uVar18 + 0x20) * 8)" ( (binary_expression "iVar27 + *(int *)(uVar18 + 0x20) * 8" identifier + (binary_expression "*(int *)(uVar18 + 0x20) * 8" (pointer_expression "*(int *)(uVar18 + 0x20)" * (cast_expression "(int *)(uVar18 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x20)" ( (binary_expression "uVar18 + 0x20" identifier + number_literal) )))) * number_literal)) ))))) * identifier) + (binary_expression "DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" identifier * (cast_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(uVar18 + 0x14) * 8)" ( (binary_expression "iVar27 + *(int *)(uVar18 + 0x14) * 8" identifier + (binary_expression "*(int *)(uVar18 + 0x14) * 8" (pointer_expression "*(int *)(uVar18 + 0x14)" * (cast_expression "(int *)(uVar18 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x14)" ( (binary_expression "uVar18 + 0x14" identifier + number_literal) )))) * number_literal)) ))))))) + (binary_expression "DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" identifier * (cast_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(uVar18 + 8) * 8)" ( (binary_expression "iVar27 + *(int *)(uVar18 + 8) * 8" identifier + (binary_expression "*(int *)(uVar18 + 8) * 8" (pointer_expression "*(int *)(uVar18 + 8)" * (cast_expression "(int *)(uVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 8)" ( (binary_expression "uVar18 + 8" identifier + number_literal) )))) * number_literal)) )))))))) ;) (if_statement "if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < fVar1)" ( (binary_expression "0.0 < fVar1" number_literal < identifier) )) (compound_statement "{\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }" { (expression_statement "fVar1 = fVar1 / DAT_002a7ff0;" (assignment_expression "fVar1 = fVar1 / DAT_002a7ff0" identifier = (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier)) ;) (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }" if (parenthesized_expression "(fVar1 < DAT_002a7ff4)" ( (binary_expression "fVar1 < DAT_002a7ff4" identifier < identifier) )) (compound_statement "{\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }" { (expression_statement "pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);" (assignment_expression "pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar1 + DAT_0029f124)" identifier (argument_list "(fVar1 + DAT_0029f124)" ( (binary_expression "fVar1 + DAT_0029f124" identifier + identifier) )))))))) ;) })) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = iVar27 + puVar13[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + puVar13[0xa6] * 8" identifier = (binary_expression "iVar27 + puVar13[0xa6] * 8" identifier + (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "(iVar11 < (int)puVar13[6])" ( (binary_expression "iVar11 < (int)puVar13[6]" identifier < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 < (int)puVar13[7])" ( (binary_expression "iVar7 < (int)puVar13[7]" identifier < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) ;) })) (labeled_statement "LAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);" statement_identifier : (expression_statement "Ascii85Flush(piVar31,pcVar16);" (call_expression "Ascii85Flush(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;)) (goto_statement "goto LAB_00236939;" goto statement_identifier ;)) })) (expression_statement "iVar27 = InjectImageBlob();" (assignment_expression "iVar27 = InjectImageBlob()" identifier = (call_expression "InjectImageBlob()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) goto LAB_0023707e;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0023707e;" goto statement_identifier ;)) (labeled_statement "LAB_00236939:\n          DestroyImage(puVar13);" statement_identifier : (expression_statement "DestroyImage(puVar13);" (call_expression "DestroyImage(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;)) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"\nendstream\n");" (call_expression "WriteBlobString(piVar31,"\nendstream\n")" identifier (argument_list "(piVar31,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[uVar10 + 1] = uVar33;" (assignment_expression "local_6200[uVar10 + 1] = uVar33" (subscript_expression "local_6200[uVar10 + 1]" identifier [ (binary_expression "uVar10 + 1" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[uVar10 + 2] = uVar33;" (assignment_expression "local_6200[uVar10 + 2] = uVar33" (subscript_expression "local_6200[uVar10 + 2]" identifier [ (binary_expression "uVar10 + 2" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"<<\n");" (call_expression "WriteBlobString(piVar31,"<<\n")" identifier (argument_list "(piVar31,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }" if (parenthesized_expression "(((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2))" ( (binary_expression "((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)" (parenthesized_expression "((*piVar31 == 1) || (0x100 < (uint)piVar31[9]))" ( (binary_expression "(*piVar31 == 1) || (0x100 < (uint)piVar31[9])" (parenthesized_expression "(*piVar31 == 1)" ( (binary_expression "*piVar31 == 1" (pointer_expression "*piVar31" * identifier) == number_literal) )) || (parenthesized_expression "(0x100 < (uint)piVar31[9])" ( (binary_expression "0x100 < (uint)piVar31[9]" number_literal < (cast_expression "(uint)piVar31[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar31[9]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "(local_61a4 < 2)" ( (binary_expression "local_61a4 < 2" identifier < number_literal) ))) )) (compound_statement "{\n            WriteBlobString(piVar31,">>\n");\n          }" { (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" identifier (argument_list "(piVar31,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }" else (compound_statement "{\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }" { (if_statement "if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }" if (parenthesized_expression "(local_61b8 == 0x10)" ( (binary_expression "local_61b8 == 0x10" identifier == number_literal) )) (compound_statement "{\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }" { (expression_statement "WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");" (call_expression "WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n")" identifier (argument_list "(piVar31,"/Filter [ /ASCII85Decode ]\n")" ( identifier , (string_literal ""/Filter [ /ASCII85Decode ]\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" identifier (argument_list "(piVar31,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(piVar31,"stream\n");" (call_expression "WriteBlobString(piVar31,"stream\n")" identifier (argument_list "(piVar31,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (0 < piVar31[9]) goto LAB_002384f8;" if (parenthesized_expression "(0 < piVar31[9])" ( (binary_expression "0 < piVar31[9]" number_literal < (subscript_expression "piVar31[9]" identifier [ number_literal ])) )) (goto_statement "goto LAB_002384f8;" goto statement_identifier ;)) (labeled_statement "LAB_00239b55:\n              Ascii85Flush(piVar31);" statement_identifier : (expression_statement "Ascii85Flush(piVar31);" (call_expression "Ascii85Flush(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;)) }) (else_clause "else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }" else (compound_statement "{\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }" { (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" identifier (argument_list "(piVar31,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(piVar31,"stream\n");" (call_expression "WriteBlobString(piVar31,"stream\n")" identifier (argument_list "(piVar31,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }" if (parenthesized_expression "(0 < piVar31[9])" ( (binary_expression "0 < piVar31[9]" number_literal < (subscript_expression "piVar31[9]" identifier [ number_literal ])) )) (compound_statement "{\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }" { (labeled_statement "LAB_002384f8:\n                iVar27 = 0;" statement_identifier : (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);" do (compound_statement "{\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                }" { (while_statement "while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }" { (expression_statement "fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);" (assignment_expression "fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27)" identifier = (cast_expression "(float)*(double *)(piVar31[10] + 0x20 + iVar27)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(piVar31[10] + 0x20 + iVar27)" * (cast_expression "(double *)(piVar31[10] + 0x20 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[10] + 0x20 + iVar27)" ( (binary_expression "piVar31[10] + 0x20 + iVar27" (binary_expression "piVar31[10] + 0x20" (subscript_expression "piVar31[10]" identifier [ number_literal ]) + number_literal) + identifier) )))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (local_61b8 != 0x10) break;" if (parenthesized_expression "(local_61b8 != 0x10)" ( (binary_expression "local_61b8 != 0x10" identifier != number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < fVar1)" ( (binary_expression "0.0 < fVar1" number_literal < identifier) )) (compound_statement "{\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }" { (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }" if (parenthesized_expression "(fVar1 / DAT_002a7ff0 < DAT_002a7ff4)" ( (binary_expression "fVar1 / DAT_002a7ff0 < DAT_002a7ff4" (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier) < identifier) )) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" identifier (argument_list "(fVar1 / DAT_002a7ff0 + DAT_0029f124)" ( (binary_expression "fVar1 / DAT_002a7ff0 + DAT_0029f124" (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier) + identifier) )))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);" (assignment_expression "dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27)" identifier = (pointer_expression "*(double *)(piVar31[10] + 0x28 + iVar27)" * (cast_expression "(double *)(piVar31[10] + 0x28 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[10] + 0x28 + iVar27)" ( (binary_expression "piVar31[10] + 0x28 + iVar27" (binary_expression "piVar31[10] + 0x28" (subscript_expression "piVar31[10]" identifier [ number_literal ]) + number_literal) + identifier) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);" (assignment_expression "dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27)" identifier = (pointer_expression "*(double *)(piVar31[10] + 0x30 + iVar27)" * (cast_expression "(double *)(piVar31[10] + 0x30 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[10] + 0x30 + iVar27)" ( (binary_expression "piVar31[10] + 0x30 + iVar27" (binary_expression "piVar31[10] + 0x30" (subscript_expression "piVar31[10]" identifier [ number_literal ]) + number_literal) + identifier) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar27 = iVar27 + 0x50;" (assignment_expression "iVar27 = iVar27 + 0x50" identifier = (binary_expression "iVar27 + 0x50" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (if_statement "if (piVar31[9] <= iVar7) goto LAB_00238890;" if (parenthesized_expression "(piVar31[9] <= iVar7)" ( (binary_expression "piVar31[9] <= iVar7" (subscript_expression "piVar31[9]" identifier [ number_literal ]) <= identifier) )) (goto_statement "goto LAB_00238890;" goto statement_identifier ;)) })) (if_statement "if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }" if (parenthesized_expression "(0.0 < fVar1)" ( (binary_expression "0.0 < fVar1" number_literal < identifier) )) (compound_statement "{\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }" { (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }" if (parenthesized_expression "(fVar1 / DAT_002a7ff0 < DAT_002a7ff4)" ( (binary_expression "fVar1 / DAT_002a7ff0 < DAT_002a7ff4" (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier) < identifier) )) (compound_statement "{\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" identifier (argument_list "(fVar1 / DAT_002a7ff0 + DAT_0029f124)" ( (binary_expression "fVar1 / DAT_002a7ff0 + DAT_0029f124" (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier) + identifier) )))))) ;) })) })) (expression_statement "WriteBlobByte(piVar31,uVar6);" (call_expression "WriteBlobByte(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);" (assignment_expression "dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27)" identifier = (pointer_expression "*(double *)(piVar31[10] + 0x28 + iVar27)" * (cast_expression "(double *)(piVar31[10] + 0x28 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[10] + 0x28 + iVar27)" ( (binary_expression "piVar31[10] + 0x28 + iVar27" (binary_expression "piVar31[10] + 0x28" (subscript_expression "piVar31[10]" identifier [ number_literal ]) + number_literal) + identifier) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "WriteBlobByte(piVar31,uVar6);" (call_expression "WriteBlobByte(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);" (assignment_expression "dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27)" identifier = (pointer_expression "*(double *)(piVar31[10] + 0x30 + iVar27)" * (cast_expression "(double *)(piVar31[10] + 0x30 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[10] + 0x30 + iVar27)" ( (binary_expression "piVar31[10] + 0x30 + iVar27" (binary_expression "piVar31[10] + 0x30" (subscript_expression "piVar31[10]" identifier [ number_literal ]) + number_literal) + identifier) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar27 = iVar27 + 0x50;" (assignment_expression "iVar27 = iVar27 + 0x50" identifier = (binary_expression "iVar27 + 0x50" identifier + number_literal)) ;) (expression_statement "WriteBlobByte(piVar31,uVar6);" (call_expression "WriteBlobByte(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "(iVar7 < piVar31[9])" ( (binary_expression "iVar7 < piVar31[9]" identifier < (subscript_expression "piVar31[9]" identifier [ number_literal ])) )) ;) })) (labeled_statement "LAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;" statement_identifier : (if_statement "if (local_61b8 == 0x10) goto LAB_00239b55;" if (parenthesized_expression "(local_61b8 == 0x10)" ( (binary_expression "local_61b8 == 0x10" identifier == number_literal) )) (goto_statement "goto LAB_00239b55;" goto statement_identifier ;))) }))) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"\nendstream\n");" (call_expression "WriteBlobString(piVar31,"\nendstream\n")" identifier (argument_list "(piVar31,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) }))) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[uVar10 + 3] = uVar33;" (assignment_expression "local_6200[uVar10 + 3] = uVar33" (subscript_expression "local_6200[uVar10 + 3]" identifier [ (binary_expression "uVar10 + 3" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[uVar10 + 4] = uVar33;" (assignment_expression "local_6200[uVar10 + 4] = uVar33" (subscript_expression "local_6200[uVar10 + 4]" identifier [ (binary_expression "uVar10 + 4" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"<<\n");" (call_expression "WriteBlobString(piVar31,"<<\n")" identifier (argument_list "(piVar31,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }" if (parenthesized_expression "(piVar31[0xa5] != 0)" ( (binary_expression "piVar31[0xa5] != 0" (subscript_expression "piVar31[0xa5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }" { (expression_statement "WriteBlobString(piVar31,"/Type /XObject\n");" (call_expression "WriteBlobString(piVar31,"/Type /XObject\n")" identifier (argument_list "(piVar31,"/Type /XObject\n")" ( identifier , (string_literal ""/Type /XObject\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(piVar31,"/Subtype /Image\n");" (call_expression "WriteBlobString(piVar31,"/Subtype /Image\n")" identifier (argument_list "(piVar31,"/Subtype /Image\n")" ( identifier , (string_literal ""/Subtype /Image\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (if_statement "if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" if (parenthesized_expression "(local_61b8 == 0x10)" ( (binary_expression "local_61b8 == 0x10" identifier == number_literal) )) (compound_statement "{\n              pcVar34 = "ASCII85Decode";\n            }" { (expression_statement "pcVar34 = "ASCII85Decode";" (assignment_expression "pcVar34 = "ASCII85Decode"" identifier = (string_literal ""ASCII85Decode"" " string_content ")) ;) }) (else_clause "else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" else (if_statement "if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" if (parenthesized_expression "(local_61b8 == 0x14)" ( (binary_expression "local_61b8 == 0x14" identifier == number_literal) )) (compound_statement "{\n              pcVar34 = "FlateDecode";\n            }" { (expression_statement "pcVar34 = "FlateDecode";" (assignment_expression "pcVar34 = "FlateDecode"" identifier = (string_literal ""FlateDecode"" " string_content ")) ;) }) (else_clause "else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" else (if_statement "if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" if (parenthesized_expression "(local_61b8 == 0xf)" ( (binary_expression "local_61b8 == 0xf" identifier == number_literal) )) (compound_statement "{\n              pcVar34 = "LZWDecode";\n            }" { (expression_statement "pcVar34 = "LZWDecode";" (assignment_expression "pcVar34 = "LZWDecode"" identifier = (string_literal ""LZWDecode"" " string_content ")) ;) }) (else_clause "else {\n              pcVar34 = "RunLengthDecode";\n            }" else (compound_statement "{\n              pcVar34 = "RunLengthDecode";\n            }" { (expression_statement "pcVar34 = "RunLengthDecode";" (assignment_expression "pcVar34 = "RunLengthDecode"" identifier = (string_literal ""RunLengthDecode"" " string_content ")) ;) }))))))) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" identifier (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");" (call_expression "WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n")" identifier (argument_list "(piVar31,"/ColorSpace /DeviceGray\n")" ( identifier , (string_literal ""/ColorSpace /DeviceGray\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar34 = "/BitsPerComponent %d\n";" (assignment_expression "pcVar34 = "/BitsPerComponent %d\n"" identifier = (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ")) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (call_expression "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" identifier (argument_list "(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" ( identifier , number_literal , (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ") , (field_expression "local_61cc._0_4_" identifier . field_identifier) ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" identifier (argument_list "(piVar31,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar16 = pcVar19;" (assignment_expression "pcVar16 = pcVar19" identifier = identifier) ;) (expression_statement "WriteBlobString(piVar31,"stream\n");" (call_expression "WriteBlobString(piVar31,"stream\n")" identifier (argument_list "(piVar31,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }" if (parenthesized_expression "(local_61b8 == 0x10)" ( (binary_expression "local_61b8 == 0x10" identifier == number_literal) )) (compound_statement "{\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }" { (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }" if (parenthesized_expression "(0 < piVar31[7])" ( (binary_expression "0 < piVar31[7]" number_literal < (subscript_expression "piVar31[7]" identifier [ number_literal ])) )) (compound_statement "{\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);" do (compound_statement "{\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                }" { (expression_statement "pcVar16 = param_3;" (assignment_expression "pcVar16 = param_3" identifier = identifier) ;) (expression_statement "iVar7 = GetVirtualPixels();" (assignment_expression "iVar7 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);" do (compound_statement "{\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    }" { (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }" if (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x34) != 0)" ( (binary_expression "*(int *)(piVar31[0xaa] + 0x34) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x34)" * (cast_expression "(int *)(piVar31[0xaa] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x34)" ( (binary_expression "piVar31[0xaa] + 0x34" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }" { (expression_statement "dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);" (assignment_expression "dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8)" * (cast_expression "(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8)" ( (binary_expression "iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x38) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x38)" * (cast_expression "(int *)(piVar31[0xaa] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x38)" ( (binary_expression "piVar31[0xaa] + 0x38" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" if (parenthesized_expression "((double)DAT_002a7ff4 <= dVar36)" ( (binary_expression "(double)DAT_002a7ff4 <= dVar36" (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n                            pcVar16 = (char *)0xff;\n                          }" { (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" else (compound_statement "{\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" { (expression_statement "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );" (assignment_expression "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" identifier (argument_list "(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))))) ;) }))) })) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) (expression_statement "iVar7 = iVar7 + piVar31[0xa6] * 8;" (assignment_expression "iVar7 = iVar7 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar7 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "(iVar27 < piVar31[6])" ( (binary_expression "iVar27 < piVar31[6]" identifier < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)local_6224 < piVar31[7])" ( (binary_expression "(int)local_6224 < piVar31[7]" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < (subscript_expression "piVar31[7]" identifier [ number_literal ])) )) ;) })) (expression_statement "Ascii85Flush(piVar31,pcVar16);" (call_expression "Ascii85Flush(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00237731:\n              TellBlob(piVar31);" statement_identifier : (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;)) (expression_statement "WriteBlobString(piVar31,"\nendstream\n");" (call_expression "WriteBlobString(piVar31,"\nendstream\n")" identifier (argument_list "(piVar31,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00236be1;" goto statement_identifier ;) })) (expression_statement "iVar7 = piVar31[7] * piVar31[6];" (assignment_expression "iVar7 = piVar31[7] * piVar31[6]" identifier = (binary_expression "piVar31[7] * piVar31[6]" (subscript_expression "piVar31[7]" identifier [ number_literal ]) * (subscript_expression "piVar31[6]" identifier [ number_literal ]))) ;) (expression_statement "iVar11 = AcquireVirtualMemory(iVar7,4);" (assignment_expression "iVar11 = AcquireVirtualMemory(iVar7,4)" identifier = (call_expression "AcquireVirtualMemory(iVar7,4)" identifier (argument_list "(iVar7,4)" ( identifier , number_literal )))) ;) (if_statement "if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }" { (expression_statement "pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);" (assignment_expression "pcVar34 = (char *)GetVirtualMemoryBlob(iVar11)" identifier = (cast_expression "(char *)GetVirtualMemoryBlob(iVar11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))))) ;) (if_statement "if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }" if (parenthesized_expression "(0 < piVar31[7])" ( (binary_expression "0 < piVar31[7]" number_literal < (subscript_expression "piVar31[7]" identifier [ number_literal ])) )) (compound_statement "{\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar13 = (uint *)pcVar34;" (assignment_expression "puVar13 = (uint *)pcVar34" identifier = (cast_expression "(uint *)pcVar34" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);" do (compound_statement "{\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                }" { (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar29 = puVar13;" (assignment_expression "puVar29 = puVar13" identifier = identifier) ;) (expression_statement "puVar20 = puVar13;" (assignment_expression "puVar20 = puVar13" identifier = identifier) ;) (if_statement "if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }" { (do_statement "do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);" do (compound_statement "{\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    }" { (expression_statement "puVar20 = (uint *)((int)puVar29 + 1);" (assignment_expression "puVar20 = (uint *)((int)puVar29 + 1)" identifier = (cast_expression "(uint *)((int)puVar29 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar29 + 1)" ( (binary_expression "(int)puVar29 + 1" (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) (if_statement "if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }" if (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x34) != 0)" ( (binary_expression "*(int *)(piVar31[0xaa] + 0x34) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x34)" * (cast_expression "(int *)(piVar31[0xaa] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x34)" ( (binary_expression "piVar31[0xaa] + 0x34" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }" { (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x38) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x38)" * (cast_expression "(int *)(piVar31[0xaa] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x38)" ( (binary_expression "piVar31[0xaa] + 0x38" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "((double)DAT_002a7ff4 <= dVar36)" ( (binary_expression "(double)DAT_002a7ff4 <= dVar36" (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n                            cVar21 = -1;\n                          }" { (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) }) (else_clause "else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" else (compound_statement "{\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" { (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) }))) })) })) (expression_statement "*(char *)puVar29 = cVar21;" (assignment_expression "*(char *)puVar29 = cVar21" (pointer_expression "*(char *)puVar29" * (cast_expression "(char *)puVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar27 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar29 = puVar20;" (assignment_expression "puVar29 = puVar20" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar20 - (int)puVar13 < piVar31[6])" ( (binary_expression "(int)puVar20 - (int)puVar13 < piVar31[6]" (binary_expression "(int)puVar20 - (int)puVar13" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier)) < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar13 = puVar20;" (assignment_expression "puVar13 = puVar20" identifier = identifier) ;) }) while (parenthesized_expression "((int)local_6224 < piVar31[7])" ( (binary_expression "(int)local_6224 < piVar31[7]" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < (subscript_expression "piVar31[7]" identifier [ number_literal ])) )) ;) })) (if_statement "if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }" if (parenthesized_expression "(local_61b8 == 0xf)" ( (binary_expression "local_61b8 == 0xf" identifier == number_literal) )) (compound_statement "{\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }" { (expression_statement "iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);" (assignment_expression "iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier = (call_expression "LZWEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier (argument_list "(piVar31,iVar7,pcVar34,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }" else (compound_statement "{\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }" { (expression_statement "iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);" (assignment_expression "iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier = (call_expression "PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier (argument_list "(piVar31,iVar7,pcVar34,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }))) (expression_statement "RelinquishVirtualMemory(iVar11);" (call_expression "RelinquishVirtualMemory(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;) (if_statement "if (iVar27 == 0) goto LAB_0023707e;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0023707e;" goto statement_identifier ;)) (goto_statement "goto LAB_00237731;" goto statement_identifier ;) })) (expression_statement "uVar17 = DestroyImage(piVar31);" (assignment_expression "uVar17 = DestroyImage(piVar31)" identifier = (call_expression "DestroyImage(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "iVar7 = uVar17 + 0x318;" (assignment_expression "iVar7 = uVar17 + 0x318" identifier = (binary_expression "uVar17 + 0x318" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar10 = param_1[3];" (assignment_expression "uVar10 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = uVar17;" (assignment_expression "uVar18 = uVar17" identifier = identifier) ;) (while_statement "while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }" while (parenthesized_expression "(uVar4 = uVar17, uVar10 != 0)" ( (comma_expression "uVar4 = uVar17, uVar10 != 0" (assignment_expression "uVar4 = uVar17" identifier = identifier) , (binary_expression "uVar10 != 0" identifier != number_literal)) )) (compound_statement "{\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }" { (expression_statement "uVar10 = *(uint *)(uVar4 + 0x333c);" (assignment_expression "uVar10 = *(uint *)(uVar4 + 0x333c)" identifier = (pointer_expression "*(uint *)(uVar4 + 0x333c)" * (cast_expression "(uint *)(uVar4 + 0x333c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar4 + 0x333c)" ( (binary_expression "uVar4 + 0x333c" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = uVar10;" (assignment_expression "uVar17 = uVar10" identifier = identifier) ;) (expression_statement "uVar18 = uVar4;" (assignment_expression "uVar18 = uVar4" identifier = identifier) ;) })) (expression_statement "CloseBlob(uVar18,pcVar19,pcVar34,iVar7);" (call_expression "CloseBlob(uVar18,pcVar19,pcVar34,iVar7)" identifier (argument_list "(uVar18,pcVar19,pcVar34,iVar7)" ( identifier , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_002345f8;" goto statement_identifier ;) })) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" identifier (argument_list "(piVar31,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (labeled_statement "LAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");" statement_identifier : (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;)) (expression_statement "local_61f4 = uVar10 + 6;" (assignment_expression "local_61f4 = uVar10 + 6" identifier = (binary_expression "uVar10 + 6" identifier + number_literal)) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[uVar10 + 5] = uVar33;" (assignment_expression "local_6200[uVar10 + 5] = uVar33" (subscript_expression "local_6200[uVar10 + 5]" identifier [ (binary_expression "uVar10 + 5" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar7 = GetNextImageInList(piVar31);" (assignment_expression "iVar7 = GetNextImageInList(piVar31)" identifier = (call_expression "GetNextImageInList(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6224 = piVar31;" (assignment_expression "local_6224 = piVar31" identifier = identifier) ;) (if_statement "if (iVar7 == 0) goto LAB_00239247;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00239247;" goto statement_identifier ;)) (expression_statement "local_6224 = (int *)SyncNextImageInList(piVar31);" (assignment_expression "local_6224 = (int *)SyncNextImageInList(piVar31)" identifier = (cast_expression "(int *)SyncNextImageInList(piVar31)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "SyncNextImageInList(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))))) ;) (expression_statement "local_620c = (char *)0x0;" (assignment_expression "local_620c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = SetImageProgress();" (assignment_expression "iVar7 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;" if (parenthesized_expression "((iVar7 == 0) || (param_1[3] == 0))" ( (binary_expression "(iVar7 == 0) || (param_1[3] == 0)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(param_1[3] == 0)" ( (binary_expression "param_1[3] == 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_00239247;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (while_statement "while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }" while (parenthesized_expression "(iVar27 = GetNextImageInList(piVar8), iVar27 != 0)" ( (comma_expression "iVar27 = GetNextImageInList(piVar8), iVar27 != 0" (assignment_expression "iVar27 = GetNextImageInList(piVar8)" identifier = (call_expression "GetNextImageInList(piVar8)" identifier (argument_list "(piVar8)" ( identifier )))) , (binary_expression "iVar27 != 0" identifier != number_literal)) )) (compound_statement "{\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }" { (expression_statement "iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);" (assignment_expression "iVar27 = GetImageProfile(piVar8,&DAT_002a81ca)" identifier = (call_expression "GetImageProfile(piVar8,&DAT_002a81ca)" identifier (argument_list "(piVar8,&DAT_002a81ca)" ( identifier , (pointer_expression "&DAT_002a81ca" & identifier) )))) ;) (if_statement "if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar7 = iVar7 + 2;\n        }" { (expression_statement "iVar7 = iVar7 + 2;" (assignment_expression "iVar7 = iVar7 + 2" identifier = (binary_expression "iVar7 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar7 = iVar7 + 0xe;" (assignment_expression "iVar7 = iVar7 + 0xe" identifier = (binary_expression "iVar7 + 0xe" identifier + number_literal)) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "piVar8 = (int *)GetNextImageInList(piVar8);" (assignment_expression "piVar8 = (int *)GetNextImageInList(piVar8)" identifier = (cast_expression "(int *)GetNextImageInList(piVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetNextImageInList(piVar8)" identifier (argument_list "(piVar8)" ( identifier ))))) ;) })) (expression_statement "pcVar34 = (char *)0x8;" (assignment_expression "pcVar34 = (char *)0x8" identifier = (cast_expression "(char *)0x8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);" (assignment_expression "local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8)" identifier = (cast_expression "(undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ResizeQuantumMemory(local_6200,iVar7 + 0x800,8)" identifier (argument_list "(local_6200,iVar7 + 0x800,8)" ( identifier , (binary_expression "iVar7 + 0x800" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;" if (parenthesized_expression "(local_6200 != (undefined8 *)0x0)" ( (binary_expression "local_6200 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00234b1f;" goto statement_identifier ;)) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }" while (parenthesized_expression "(piVar5 = param_2, piVar8 != (int *)0x0)" ( (comma_expression "piVar5 = param_2, piVar8 != (int *)0x0" (assignment_expression "piVar5 = param_2" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }" { (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "param_2 = piVar8;" (assignment_expression "param_2 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) })) }))) (labeled_statement "LAB_00239234:\n    iVar27 = 0;" statement_identifier : (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;)) (expression_statement "CloseBlob(piVar31,pcVar19,pcVar34,piVar25);" (call_expression "CloseBlob(piVar31,pcVar19,pcVar34,piVar25)" identifier (argument_list "(piVar31,pcVar19,pcVar34,piVar25)" ( identifier , identifier , identifier , identifier ))) ;) }))) (goto_statement "goto LAB_002345fa;" goto statement_identifier ;) (labeled_statement "LAB_00239247:\n  uVar33 = TellBlob(local_6224,local_620c);" statement_identifier : (expression_statement "uVar33 = TellBlob(local_6224,local_620c);" (assignment_expression "uVar33 = TellBlob(local_6224,local_620c)" identifier = (call_expression "TellBlob(local_6224,local_620c)" identifier (argument_list "(local_6224,local_620c)" ( identifier , identifier )))) ;)) (expression_statement "local_6200[local_61f4] = uVar33;" (assignment_expression "local_6200[local_61f4] = uVar33" (subscript_expression "local_6200[local_61f4]" identifier [ identifier ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" identifier (argument_list "(local_6224,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar7 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar7 = LocaleCompare(puVar9,&DAT_002a2413)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) )))) ;) (if_statement "if (iVar7 == 0) {\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }\n  else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }" { (expression_statement "uVar12 = FUN_00234220();" (assignment_expression "uVar12 = FUN_00234220()" identifier = (call_expression "FUN_00234220()" identifier (argument_list "()" ( )))) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12)" identifier (argument_list "(local_5020,0x1000,"/Title (%s)\n",uVar12)" ( identifier , number_literal , (string_literal ""/Title (%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "DestroyString(uVar12);" (call_expression "DestroyString(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) }) (else_clause "else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }" else (compound_statement "{\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }" { (expression_statement "iVar7 = FUN_00234080();" (assignment_expression "iVar7 = FUN_00234080()" identifier = (call_expression "FUN_00234080()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar13 = local_6020;" (assignment_expression "puVar13 = local_6020" identifier = identifier) ;) (if_statement "if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }" { (do_statement "do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);" do (compound_statement "{\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      }" { (expression_statement "puVar29 = puVar13;" (assignment_expression "puVar29 = puVar13" identifier = identifier) ;) (expression_statement "uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;" (assignment_expression "uVar17 = *puVar29 + 0xfefefeff & ~*puVar29" identifier = (binary_expression "*puVar29 + 0xfefefeff & ~*puVar29" (binary_expression "*puVar29 + 0xfefefeff" (pointer_expression "*puVar29" * identifier) + number_literal) & (unary_expression "~*puVar29" ~ (pointer_expression "*puVar29" * identifier)))) ;) (expression_statement "uVar18 = uVar17 & 0x80808080;" (assignment_expression "uVar18 = uVar17 & 0x80808080" identifier = (binary_expression "uVar17 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar13 = puVar29 + 1;" (assignment_expression "puVar13 = puVar29 + 1" identifier = (binary_expression "puVar29 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) ;) (expression_statement "bVar32 = (uVar17 & 0x8080) == 0;" (assignment_expression "bVar32 = (uVar17 & 0x8080) == 0" identifier = (binary_expression "(uVar17 & 0x8080) == 0" (parenthesized_expression "(uVar17 & 0x8080)" ( (binary_expression "uVar17 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }" if (parenthesized_expression "(bVar32)" ( identifier )) (compound_statement "{\n        uVar18 = uVar18 >> 0x10;\n      }" { (expression_statement "uVar18 = uVar18 >> 0x10;" (assignment_expression "uVar18 = uVar18 >> 0x10" identifier = (binary_expression "uVar18 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }" if (parenthesized_expression "(bVar32)" ( identifier )) (compound_statement "{\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }" { (expression_statement "puVar13 = (uint *)((int)puVar29 + 6);" (assignment_expression "puVar13 = (uint *)((int)puVar29 + 6)" identifier = (cast_expression "(uint *)((int)puVar29 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar29 + 6)" ( (binary_expression "(int)puVar29 + 6" (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));" (assignment_expression "pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020))" identifier = (cast_expression "(char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020))" ( (binary_expression "(int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020)" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020)" ( (binary_expression "(-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020" (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar18,(byte)uVar18)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar18,(byte)uVar18)" identifier (argument_list "((byte)uVar18,(byte)uVar18)" ( (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(int)local_6020" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);" (assignment_expression "puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4)" identifier = (cast_expression "(uint *)AcquireQuantumMemory(pcVar34 + 1,4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(pcVar34 + 1,4)" identifier (argument_list "(pcVar34 + 1,4)" ( (binary_expression "pcVar34 + 1" identifier + number_literal) , number_literal ))))) ;) (expression_statement "pcVar19 = (char *)0x0;" (assignment_expression "pcVar19 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }" if (parenthesized_expression "(puVar13 != (uint *)0x0)" ( (binary_expression "puVar13 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }" { (do_statement "do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);" do (compound_statement "{\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        }" { (expression_statement "puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);" (assignment_expression "puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19)" (subscript_expression "puVar13[(int)pcVar19]" identifier [ (cast_expression "(int)pcVar19" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (binary_expression "(uint)*(byte *)((int)local_6020 + (int)pcVar19)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)local_6020 + (int)pcVar19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6020 + (int)pcVar19)" ( (binary_expression "(int)local_6020 + (int)pcVar19" (cast_expression "(int)local_6020" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pcVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "pcVar19 = pcVar19 + 1;" (assignment_expression "pcVar19 = pcVar19 + 1" identifier = (binary_expression "pcVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar34 + 1 != pcVar19)" ( (binary_expression "pcVar34 + 1 != pcVar19" (binary_expression "pcVar34 + 1" identifier + number_literal) != identifier) )) ;) (labeled_statement "LAB_00239c56:\n        uStack_2020 = 0x33323130;" statement_identifier : (expression_statement "uStack_2020 = 0x33323130;" (assignment_expression "uStack_2020 = 0x33323130" identifier = number_literal) ;)) (expression_statement "uStack_201c = 0x37363534;" (assignment_expression "uStack_201c = 0x37363534" identifier = number_literal) ;) (expression_statement "uStack_2018 = 0x42413938;" (assignment_expression "uStack_2018 = 0x42413938" identifier = number_literal) ;) (expression_statement "uStack_2014 = 0x46454443;" (assignment_expression "uStack_2014 = 0x46454443" identifier = number_literal) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Title <");" (call_expression "FormatLocaleString(local_5020,0x1000,"/Title <")" identifier (argument_list "(local_5020,0x1000,"/Title <")" ( identifier , number_literal , (string_literal ""/Title <"" " string_content ") ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (if_statement "if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }" if (parenthesized_expression "(0 < (int)pcVar34)" ( (binary_expression "0 < (int)pcVar34" number_literal < (cast_expression "(int)pcVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }" { (expression_statement "puVar29 = puVar13;" (assignment_expression "puVar29 = puVar13" identifier = identifier) ;) (do_statement "do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);" do (compound_statement "{\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          }" { (expression_statement "puVar20 = puVar29 + 1;" (assignment_expression "puVar20 = puVar29 + 1" identifier = (binary_expression "puVar29 + 1" identifier + number_literal)) ;) (expression_statement "WriteBlobByte(local_6224,0x30);" (call_expression "WriteBlobByte(local_6224,0x30)" identifier (argument_list "(local_6224,0x30)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(local_6224,0x30);" (call_expression "WriteBlobByte(local_6224,0x30)" identifier (argument_list "(local_6224,0x30)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));" (call_expression "WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)))" identifier (argument_list "(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)))" ( identifier , (pointer_expression "*(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU))" * (cast_expression "(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU))" ( (binary_expression "(int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)" (cast_expression "(int)&uStack_2020" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2020" & identifier)) + (parenthesized_expression "((int)*puVar29 >> 4 & 0xfU)" ( (binary_expression "(int)*puVar29 >> 4 & 0xfU" (binary_expression "(int)*puVar29 >> 4" (cast_expression "(int)*puVar29" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*puVar29" * identifier)) >> number_literal) & number_literal) ))) )))) ))) ;) (expression_statement "WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));" (call_expression "WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)))" identifier (argument_list "(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)))" ( identifier , (pointer_expression "*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf))" * (cast_expression "(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_2020 + (*puVar29 & 0xf))" ( (binary_expression "(int)&uStack_2020 + (*puVar29 & 0xf)" (cast_expression "(int)&uStack_2020" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2020" & identifier)) + (parenthesized_expression "(*puVar29 & 0xf)" ( (binary_expression "*puVar29 & 0xf" (pointer_expression "*puVar29" * identifier) & number_literal) ))) )))) ))) ;) (expression_statement "puVar29 = puVar20;" (assignment_expression "puVar29 = puVar20" identifier = identifier) ;) }) while (parenthesized_expression "(puVar20 != puVar13 + (int)pcVar34)" ( (binary_expression "puVar20 != puVar13 + (int)pcVar34" identifier != (binary_expression "puVar13 + (int)pcVar34" identifier + (cast_expression "(int)pcVar34" ( (type_descriptor "int" primitive_type) ) identifier))) )) ;) })) (expression_statement "FormatLocaleString(local_5020,0x1000,">\n");" (call_expression "FormatLocaleString(local_5020,0x1000,">\n")" identifier (argument_list "(local_5020,0x1000,">\n")" ( identifier , number_literal , (string_literal "">\n"" " string_content escape_sequence ") ))) ;) (expression_statement "RelinquishMagickMemory(puVar13);" (call_expression "RelinquishMagickMemory(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;) })) }) (else_clause "else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }" else (compound_statement "{\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }" { (expression_statement "puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);" (assignment_expression "puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4)" identifier = (cast_expression "(uint *)AcquireQuantumMemory(iVar7 + 1,4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(iVar7 + 1,4)" identifier (argument_list "(iVar7 + 1,4)" ( (binary_expression "iVar7 + 1" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }" if (parenthesized_expression "(puVar13 != (uint *)0x0)" ( (binary_expression "puVar13 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }" { (expression_statement "pcVar34 = (char *)FUN_00234080();" (assignment_expression "pcVar34 = (char *)FUN_00234080()" identifier = (cast_expression "(char *)FUN_00234080()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00234080()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_00239c56;" goto statement_identifier ;) })) }))) }))) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "local_60a8 = GetMagickTime();" (assignment_expression "local_60a8 = GetMagickTime()" identifier = (call_expression "GetMagickTime()" identifier (argument_list "()" ( )))) ;) (expression_statement "gmtime_r(&local_60a8,&local_604c);" (call_expression "gmtime_r(&local_60a8,&local_604c)" identifier (argument_list "(&local_60a8,&local_604c)" ( (pointer_expression "&local_60a8" & identifier) , (pointer_expression "&local_604c" & identifier) ))) ;) (expression_statement "FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec);" (call_expression "FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec)" identifier (argument_list "(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec)" ( (pointer_expression "&uStack_2020" & identifier) , number_literal , (pointer_expression "&UNK_00305c80" & identifier) , (binary_expression "local_604c.tm_year + 0x76c" (field_expression "local_604c.tm_year" identifier . field_identifier) + number_literal) , (binary_expression "local_604c.tm_mon + 1" (field_expression "local_604c.tm_mon" identifier . field_identifier) + number_literal) , (field_expression "local_604c.tm_mday" identifier . field_identifier) , (field_expression "local_604c.tm_hour" identifier . field_identifier) , (field_expression "local_604c.tm_min" identifier . field_identifier) , (field_expression "local_604c.tm_sec" identifier . field_identifier) ))) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);" (call_expression "FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020)" identifier (argument_list "(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020)" ( identifier , number_literal , (string_literal ""/CreationDate (%s)\n"" " string_content escape_sequence ") , (pointer_expression "&uStack_2020" & identifier) ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);" (call_expression "FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020)" identifier (argument_list "(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020)" ( identifier , number_literal , (string_literal ""/ModDate (%s)\n"" " string_content escape_sequence ") , (pointer_expression "&uStack_2020" & identifier) ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "uVar12 = FUN_00234220();" (assignment_expression "uVar12 = FUN_00234220()" identifier = (call_expression "FUN_00234220()" identifier (argument_list "()" ( )))) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12)" identifier (argument_list "(local_5020,0x1000,"/Producer (%s)\n",uVar12)" ( identifier , number_literal , (string_literal ""/Producer (%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "DestroyString(uVar12);" (call_expression "DestroyString(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" identifier (argument_list "(local_6224,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" identifier (argument_list "(local_6224,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(local_6224);" (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (expression_statement "LocaleCompare(puVar9,&DAT_002a2413);" (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) ))) ;) (expression_statement "WriteBlobString(local_6224,"xref\n");" (call_expression "WriteBlobString(local_6224,"xref\n")" identifier (argument_list "(local_6224,"xref\n")" ( identifier , (string_literal ""xref\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"0000000000 65535 f \n");" (call_expression "WriteBlobString(local_6224,"0000000000 65535 f \n")" identifier (argument_list "(local_6224,"0000000000 65535 f \n")" ( identifier , (string_literal ""0000000000 65535 f \n"" " string_content escape_sequence ") ))) ;) (if_statement "if (0 < (int)(uVar10 + 7)) {\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }" if (parenthesized_expression "(0 < (int)(uVar10 + 7))" ( (binary_expression "0 < (int)(uVar10 + 7)" number_literal < (cast_expression "(int)(uVar10 + 7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar10 + 7)" ( (binary_expression "uVar10 + 7" identifier + number_literal) )))) )) (compound_statement "{\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }" { (expression_statement "puVar26 = local_6200;" (assignment_expression "puVar26 = local_6200" identifier = identifier) ;) (do_statement "do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);" do (compound_statement "{\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    }" { (expression_statement "uVar12 = *(undefined4 *)puVar26;" (assignment_expression "uVar12 = *(undefined4 *)puVar26" identifier = (pointer_expression "*(undefined4 *)puVar26" * (cast_expression "(undefined4 *)puVar26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar26 = puVar26 + 1;" (assignment_expression "puVar26 = puVar26 + 1" identifier = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);" (call_expression "FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12)" identifier (argument_list "(local_5020,0x1000,"%010lu 00000 n \n",uVar12)" ( identifier , number_literal , (string_literal ""%010lu 00000 n \n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "(local_6200 + uVar10 + 7 != puVar26)" ( (binary_expression "local_6200 + uVar10 + 7 != puVar26" (binary_expression "local_6200 + uVar10 + 7" (binary_expression "local_6200 + uVar10" identifier + identifier) + number_literal) != identifier) )) ;) })) (expression_statement "WriteBlobString(local_6224,"trailer\n");" (call_expression "WriteBlobString(local_6224,"trailer\n")" identifier (argument_list "(local_6224,"trailer\n")" ( identifier , (string_literal ""trailer\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" identifier (argument_list "(local_6224,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "SignatureImage(local_6224,param_3);" (call_expression "SignatureImage(local_6224,param_3)" identifier (argument_list "(local_6224,param_3)" ( identifier , identifier ))) ;) (expression_statement "GetImageProperty(local_6224,"signature",param_3);" (call_expression "GetImageProperty(local_6224,"signature",param_3)" identifier (argument_list "(local_6224,"signature",param_3)" ( identifier , (string_literal ""signature"" " string_content ") , identifier ))) ;) (expression_statement "GetImageProperty(local_6224,"signature",param_3);" (call_expression "GetImageProperty(local_6224,"signature",param_3)" identifier (argument_list "(local_6224,"signature",param_3)" ( identifier , (string_literal ""signature"" " string_content ") , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" identifier (argument_list "(local_6224,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"startxref\n");" (call_expression "WriteBlobString(local_6224,"startxref\n")" identifier (argument_list "(local_6224,"startxref\n")" ( identifier , (string_literal ""startxref\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = 1;" (assignment_expression "iVar27 = 1" identifier = number_literal) ;) (expression_statement "WriteBlobString(local_6224,"%%EOF\n");" (call_expression "WriteBlobString(local_6224,"%%EOF\n")" identifier (argument_list "(local_6224,"%%EOF\n")" ( identifier , (string_literal ""%%EOF\n"" " string_content escape_sequence ") ))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "CloseBlob(local_6224);" (call_expression "CloseBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (labeled_statement "LAB_002345fa:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return iVar27;\n  }" { (return_statement "return iVar27;" return identifier ;) }))) comment (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\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\nMagickBooleanType WritePDFImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)\n\n{\n  size_t *height;\n  ssize_t *y;\n  ssize_t *x;\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double dVar4;\n  double dVar5;\n  int iVar6;\n  PixelChannelMap *pPVar7;\n  _Image *p_Var8;\n  ulonglong uVar9;\n  float fVar10;\n  longlong lVar11;\n  undefined2 uVar12;\n  uchar uVar13;\n  MagickBooleanType MVar14;\n  Image *pIVar15;\n  int iVar16;\n  StringInfo *pSVar17;\n  uint uVar18;\n  char *pcVar19;\n  Image *pIVar20;\n  size_t sVar21;\n  MagickStatusType MVar22;\n  char *pcVar23;\n  uchar *puVar24;\n  Quantum *pQVar25;\n  MemoryInfo *pMVar26;\n  uint uVar27;\n  char *pcVar28;\n  time_t time;\n  ssize_t sVar29;\n  uint uVar30;\n  wchar_t *utf16;\n  uchar *puVar31;\n  uint *puVar32;\n  uint *puVar33;\n  uchar *puVar34;\n  uchar *puVar35;\n  char **memory;\n  int iVar36;\n  size_t sVar37;\n  wchar_t *pwVar38;\n  wchar_t *pwVar39;\n  Image *pIVar40;\n  int in_GS_OFFSET;\n  bool bVar41;\n  undefined2 in_FPUControlWord;\n  MagickRealType intensity;\n  MagickOffsetType MVar42;\n  MagickOffsetType MVar43;\n  MagickOffsetType MVar44;\n  double dVar45;\n  undefined4 uVar46;\n  undefined4 uVar47;\n  undefined4 uVar48;\n  double dVar49;\n  undefined8 local_6224;\n  uint *local_6200;\n  ulonglong local_61fc;\n  undefined8 local_61f4;\n  int local_61ec;\n  undefined8 local_61e4;\n  undefined1 local_61dc [4];\n  undefined1 auStack_61d8 [12];\n  double local_61cc;\n  ulonglong local_61c4;\n  CompressionType local_61b8;\n  undefined8 local_61b4;\n  uchar *local_61a8;\n  CompressionType local_61a4;\n  MemoryInfo *local_6194;\n  undefined4 local_615c;\n  undefined4 local_6154;\n  undefined4 uStack_6150;\n  uint local_6144;\n  int local_6140;\n  size_t local_60cc;\n  time_t seconds;\n  RectangleInfo geometry;\n  RectangleInfo media_info;\n  RectangleInfo page_info;\n  GeometryInfo geometry_info;\n  tm_conflict utc_time;\n  char basename [4096];\n  char buffer [4096];\n  char create_date [4096];\n  char modify_date [4096];\n  char date [4096];\n  char page_geometry [4096];\n  \n  iVar6 = *(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/pdf.c",0x52f,"WritePDFImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/pdf.c","WritePDFImage",0x534,"%s",image->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }\n  MVar14 = OpenBlob(image_info,image,WriteBinaryBlobMode,exception);\n  if (MVar14 == MagickFalse) {\nLAB_002345f8:\n    MVar14 = MagickFalse;\n  }\n  else {\n    local_6200 = (uint *)AcquireQuantumMemory(0x800,8);\n    pcVar23 = image->filename;\n    pIVar40 = image;\n    if (local_6200 == (uint *)0x0) {\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      local_6224 = DAT_003068b8;\n      pIVar15 = image;\n      do {\n        if (pIVar15->alpha_trait != UndefinedPixelTrait) {\n          local_6224 = DAT_003068c0;\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      if (image_info->compression == JPEG2000Compression) {\n        local_6224 = (double)_DAT_002aa510;\n      }\n      pcVar28 = image_info->magick;\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      pIVar15 = image;\n      if (iVar16 == 0) {\n        local_6224 = DAT_003068c8;\n      }\n      do {\n        SetImageGray(pIVar15,exception);\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        if (pSVar17 != (StringInfo *)0x0) {\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }\n        uVar18 = pIVar15->colorspace - CMYKColorspace;\n        if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      pcVar19 = GetImageOption(image_info,"pdf:version");\n      if (pcVar19 != (char *)0x0) {\n        dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);\n        if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {\n          dVar45 = _DAT_003068d0;\n        }\n        if (local_6224 <= dVar45) {\n          local_6224 = dVar45;\n        }\n      }\n      FormatLocaleString(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_);\n      WriteBlobString(image,buffer);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        WriteBlobByte(image,'%');\n        WriteBlobByte(image,0xe2);\n        WriteBlobByte(image,0xe3);\n        WriteBlobByte(image,0xcf);\n        WriteBlobByte(image,0xd3);\n        WriteBlobByte(image,'\n');\n      }\n      MVar42 = TellBlob(image);\n      *(MagickOffsetType *)local_6200 = MVar42;\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        uVar46 = 0x40080000;\n      }\n      else {\n        uVar46 = 0x40000000;\n      }\n      FormatLocaleString(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"/Type /Catalog");\n      pcVar19 = GetImageOption(image_info,"pdf:page-direction");\n      if ((pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)\n         ) {\n        WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(image,"\n");\n      WriteBlobString(image,">>\n");\n      WriteBlobString(image,"endobj\n");\n      GetPathComponent(pcVar23,BasePath,basename);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        MVar42 = TellBlob(image);\n        *(MagickOffsetType *)(local_6200 + 2) = MVar42;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"<<\n");\n        WriteBlobString(image,"/Subtype /XML\n");\n        modify_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:modify",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }\n        create_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:create",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }\n        time = GetMagickTime();\n        FormatMagickTime(time,0x1000,date);\n        pcVar19 = EscapeParenthesis(basename);\n        sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");\n        DestroyString(pcVar19);\n        FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"/Type /Metadata\n");\n        WriteBlobString(image,">>\nstream\n");\n        WriteBlobString(image,page_geometry);\n        iVar36 = 0x10;\n        WriteBlobString(image,"\nendstream\n");\n        iVar16 = 0x12;\n        WriteBlobString(image,"endobj\n");\n        local_6224._0_4_ = (Image *)0x3;\n        local_61f4._0_4_ = 3;\n      }\n      else {\n        local_6224._0_4_ = (Image *)0x2;\n        iVar16 = 0x11;\n        iVar36 = 8;\n        local_61f4._0_4_ = 2;\n      }\n      MVar42 = TellBlob(image);\n      dVar45 = (double)(int)(Image *)local_6224;\n      *(MagickOffsetType *)(iVar36 + (int)local_6200) = MVar42;\n      uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      WriteBlobString(image,"/Type /Pages\n");\n      FormatLocaleString(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),\n                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20));\n      WriteBlobString(image,buffer);\n      _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n      local_61ec = 1;\n      pIVar15 = image;\n      if (image_info->adjoin == MagickFalse) {\nLAB_00234b1f:\n        WriteBlobString(image,"]\n");\n        FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,">>\n");\n        WriteBlobString(image,"endobj\n");\n        sVar21 = GetImageListLength(image);\n        height = &geometry.height;\n        y = &geometry.y;\n        x = &geometry.x;\n        local_6144 = 0;\n        local_6140 = 0;\n        local_6224._0_4_ = image;\n        do {\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        } while( true );\n      }\n      while (pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0) {\n        local_61ec = local_61ec + 1;\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        iVar36 = iVar16;\n        if (pSVar17 != (StringInfo *)0x0) {\n          iVar36 = iVar16 + 2;\n        }\n        iVar16 = iVar36 + 0xe;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20));\n        WriteBlobString(image,buffer);\n        pIVar15 = GetNextImageInList(pIVar15);\n      }\n      local_6200 = (uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8);\n      if (local_6200 != (uint *)0x0) goto LAB_00234b1f;\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\nLAB_00239234:\n    MVar14 = MagickFalse;\n    CloseBlob(pIVar40);\n  }\n  goto LAB_002345fa;\nLAB_00239247:\n  MVar42 = TellBlob((Image *)local_6224);\n  local_61fc = (ulonglong)(uVar18 + 7);\n  dVar45 = (double)local_61fc;\n  *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n  uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);\n  FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);\n  WriteBlobString((Image *)local_6224,buffer);\n  WriteBlobString((Image *)local_6224,"<<\n");\n  iVar16 = LocaleCompare(pcVar28,"PDFA");\n  if (iVar16 == 0) {\n    pcVar23 = EscapeParenthesis(basename);\n    FormatLocaleString(buffer,0x1000,"/Title (%s)\n",pcVar23);\n    DestroyString(pcVar23);\n  }\n  else {\n    sVar21 = UTF8ToUTF16((uchar *)basename,(wchar_t *)0x0);\n    puVar33 = (uint *)basename;\n    if (sVar21 == 0) {\n      do {\n        puVar32 = puVar33;\n        uVar30 = *puVar32 + 0xfefefeff & ~*puVar32;\n        uVar27 = uVar30 & 0x80808080;\n        puVar33 = puVar32 + 1;\n      } while (uVar27 == 0);\n      bVar41 = (uVar30 & 0x8080) == 0;\n      if (bVar41) {\n        uVar27 = uVar27 >> 0x10;\n      }\n      if (bVar41) {\n        puVar33 = (uint *)((int)puVar32 + 6);\n      }\n      puVar24 = (uchar *)((int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename));\n      utf16 = (wchar_t *)AcquireQuantumMemory((size_t)(puVar24 + 1),4);\n      puVar31 = (uchar *)0x0;\n      if (utf16 != (wchar_t *)0x0) {\n        do {\n          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);\n          puVar31 = puVar31 + 1;\n        } while (puVar24 + 1 != puVar31);\nLAB_00239c56:\n        builtin_strncpy(date,"0123456789ABCDEF",0x10);\n        FormatLocaleString(buffer,0x1000,"/Title <");\n        WriteBlobString((Image *)local_6224,buffer);\n        if (0 < (int)puVar24) {\n          pwVar38 = utf16;\n          do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);\n        }\n        FormatLocaleString(buffer,0x1000,">\n");\n        RelinquishMagickMemory(utf16);\n      }\n    }\n    else {\n      utf16 = (wchar_t *)AcquireQuantumMemory(sVar21 + 1,4);\n      if (utf16 != (wchar_t *)0x0) {\n        puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);\n        goto LAB_00239c56;\n      }\n    }\n  }\n  WriteBlobString((Image *)local_6224,buffer);\n  seconds = GetMagickTime();\n  gmtime_r(&seconds,(tm *)&utc_time);\n  FormatLocaleString(date,0x1000,"D:%04d%02d%02d%02d%02d%02d",utc_time.tm_year + 0x76c,\n                     utc_time.tm_mon + 1,utc_time.tm_mday,utc_time.tm_hour,utc_time.tm_min,\n                     utc_time.tm_sec);\n  FormatLocaleString(buffer,0x1000,"/CreationDate (%s)\n",date);\n  WriteBlobString((Image *)local_6224,buffer);\n  FormatLocaleString(buffer,0x1000,"/ModDate (%s)\n",date);\n  WriteBlobString((Image *)local_6224,buffer);\n  pcVar23 = EscapeParenthesis("https://imagemagick.org");\n  FormatLocaleString(buffer,0x1000,"/Producer (%s)\n",pcVar23);\n  DestroyString(pcVar23);\n  WriteBlobString((Image *)local_6224,buffer);\n  WriteBlobString((Image *)local_6224,">>\n");\n  WriteBlobString((Image *)local_6224,"endobj\n");\n  MVar42 = TellBlob((Image *)local_6224);\n  uVar27 = (uint)MVar42 - *local_6200;\n  iVar36 = ((int)((ulonglong)MVar42 >> 0x20) - local_6200[1]) - (uint)((uint)MVar42 < *local_6200);\n  iVar16 = LocaleCompare(pcVar28,"PDFA");\n  if (iVar16 == 0) {\n    bVar41 = 0xfffffff9 < uVar27;\n    uVar27 = uVar27 + 6;\n    iVar36 = iVar36 + (uint)bVar41;\n  }\n  local_61f4 = CONCAT44(iVar36 + (uint)(0xfffffff5 < uVar27),uVar27 + 10);\n  WriteBlobString((Image *)local_6224,"xref\n");\n  uVar48 = SUB84(dVar45 + (double)DAT_0029f718,0);\n  uVar47 = (undefined4)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20);\n  FormatLocaleString(buffer,0x1000,"0 %.20g\n",uVar48,uVar47);\n  WriteBlobString((Image *)local_6224,buffer);\n  WriteBlobString((Image *)local_6224,"0000000000 65535 f \n");\n  if (0 < (int)(uVar18 + 7)) {\n    puVar33 = local_6200;\n    do {\n      uVar27 = *puVar33;\n      puVar33 = puVar33 + 2;\n      FormatLocaleString(buffer,0x1000,"%010lu 00000 n \n",uVar27);\n      WriteBlobString((Image *)local_6224,buffer);\n    } while (local_6200 + uVar18 * 2 + 0xe != puVar33);\n  }\n  WriteBlobString((Image *)local_6224,"trailer\n");\n  WriteBlobString((Image *)local_6224,"<<\n");\n  FormatLocaleString(buffer,0x1000,"/Size %.20g\n",uVar48,uVar47);\n  WriteBlobString((Image *)local_6224,buffer);\n  FormatLocaleString(buffer,0x1000,"/Info %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n  WriteBlobString((Image *)local_6224,buffer);\n  FormatLocaleString(buffer,0x1000,"/Root %.20g 0 R\n",0,0x3ff00000);\n  WriteBlobString((Image *)local_6224,buffer);\n  SignatureImage((Image *)local_6224,exception);\n  pcVar23 = GetImageProperty((Image *)local_6224,"signature",exception);\n  pcVar28 = GetImageProperty((Image *)local_6224,"signature",exception);\n  FormatLocaleString(buffer,0x1000,"/ID [<%s> <%s>]\n",pcVar28,pcVar23);\n  WriteBlobString((Image *)local_6224,buffer);\n  WriteBlobString((Image *)local_6224,">>\n");\n  WriteBlobString((Image *)local_6224,"startxref\n");\n  FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(longlong)local_61f4,0),\n                     (int)((ulonglong)(double)(longlong)local_61f4 >> 0x20));\n  WriteBlobString((Image *)local_6224,buffer);\n  MVar14 = MagickTrue;\n  WriteBlobString((Image *)local_6224,"%%EOF\n");\n  RelinquishMagickMemory(local_6200);\n  CloseBlob((Image *)local_6224);\nLAB_002345fa:\n  if (iVar6 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar14;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment comment comment comment comment comment comment (function_definition "MagickBooleanType WritePDFImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)\n\n{\n  size_t *height;\n  ssize_t *y;\n  ssize_t *x;\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double dVar4;\n  double dVar5;\n  int iVar6;\n  PixelChannelMap *pPVar7;\n  _Image *p_Var8;\n  ulonglong uVar9;\n  float fVar10;\n  longlong lVar11;\n  undefined2 uVar12;\n  uchar uVar13;\n  MagickBooleanType MVar14;\n  Image *pIVar15;\n  int iVar16;\n  StringInfo *pSVar17;\n  uint uVar18;\n  char *pcVar19;\n  Image *pIVar20;\n  size_t sVar21;\n  MagickStatusType MVar22;\n  char *pcVar23;\n  uchar *puVar24;\n  Quantum *pQVar25;\n  MemoryInfo *pMVar26;\n  uint uVar27;\n  char *pcVar28;\n  time_t time;\n  ssize_t sVar29;\n  uint uVar30;\n  wchar_t *utf16;\n  uchar *puVar31;\n  uint *puVar32;\n  uint *puVar33;\n  uchar *puVar34;\n  uchar *puVar35;\n  char **memory;\n  int iVar36;\n  size_t sVar37;\n  wchar_t *pwVar38;\n  wchar_t *pwVar39;\n  Image *pIVar40;\n  int in_GS_OFFSET;\n  bool bVar41;\n  undefined2 in_FPUControlWord;\n  MagickRealType intensity;\n  MagickOffsetType MVar42;\n  MagickOffsetType MVar43;\n  MagickOffsetType MVar44;\n  double dVar45;\n  undefined4 uVar46;\n  undefined4 uVar47;\n  undefined4 uVar48;\n  double dVar49;\n  undefined8 local_6224;\n  uint *local_6200;\n  ulonglong local_61fc;\n  undefined8 local_61f4;\n  int local_61ec;\n  undefined8 local_61e4;\n  undefined1 local_61dc [4];\n  undefined1 auStack_61d8 [12];\n  double local_61cc;\n  ulonglong local_61c4;\n  CompressionType local_61b8;\n  undefined8 local_61b4;\n  uchar *local_61a8;\n  CompressionType local_61a4;\n  MemoryInfo *local_6194;\n  undefined4 local_615c;\n  undefined4 local_6154;\n  undefined4 uStack_6150;\n  uint local_6144;\n  int local_6140;\n  size_t local_60cc;\n  time_t seconds;\n  RectangleInfo geometry;\n  RectangleInfo media_info;\n  RectangleInfo page_info;\n  GeometryInfo geometry_info;\n  tm_conflict utc_time;\n  char basename [4096];\n  char buffer [4096];\n  char create_date [4096];\n  char modify_date [4096];\n  char date [4096];\n  char page_geometry [4096];\n  \n  iVar6 = *(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/pdf.c",0x52f,"WritePDFImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/pdf.c","WritePDFImage",0x534,"%s",image->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }\n  MVar14 = OpenBlob(image_info,image,WriteBinaryBlobMode,exception);\n  if (MVar14 == MagickFalse) {\nLAB_002345f8:\n    MVar14 = MagickFalse;\n  }\n  else {\n    local_6200 = (uint *)AcquireQuantumMemory(0x800,8);\n    pcVar23 = image->filename;\n    pIVar40 = image;\n    if (local_6200 == (uint *)0x0) {\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      local_6224 = DAT_003068b8;\n      pIVar15 = image;\n      do {\n        if (pIVar15->alpha_trait != UndefinedPixelTrait) {\n          local_6224 = DAT_003068c0;\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      if (image_info->compression == JPEG2000Compression) {\n        local_6224 = (double)_DAT_002aa510;\n      }\n      pcVar28 = image_info->magick;\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      pIVar15 = image;\n      if (iVar16 == 0) {\n        local_6224 = DAT_003068c8;\n      }\n      do {\n        SetImageGray(pIVar15,exception);\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        if (pSVar17 != (StringInfo *)0x0) {\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }\n        uVar18 = pIVar15->colorspace - CMYKColorspace;\n        if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      pcVar19 = GetImageOption(image_info,"pdf:version");\n      if (pcVar19 != (char *)0x0) {\n        dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);\n        if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {\n          dVar45 = _DAT_003068d0;\n        }\n        if (local_6224 <= dVar45) {\n          local_6224 = dVar45;\n        }\n      }\n      FormatLocaleString(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_);\n      WriteBlobString(image,buffer);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        WriteBlobByte(image,'%');\n        WriteBlobByte(image,0xe2);\n        WriteBlobByte(image,0xe3);\n        WriteBlobByte(image,0xcf);\n        WriteBlobByte(image,0xd3);\n        WriteBlobByte(image,'\n');\n      }\n      MVar42 = TellBlob(image);\n      *(MagickOffsetType *)local_6200 = MVar42;\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        uVar46 = 0x40080000;\n      }\n      else {\n        uVar46 = 0x40000000;\n      }\n      FormatLocaleString(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"/Type /Catalog");\n      pcVar19 = GetImageOption(image_info,"pdf:page-direction");\n      if ((pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)\n         ) {\n        WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(image,"\n");\n      WriteBlobString(image,">>\n");\n      WriteBlobString(image,"endobj\n");\n      GetPathComponent(pcVar23,BasePath,basename);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        MVar42 = TellBlob(image);\n        *(MagickOffsetType *)(local_6200 + 2) = MVar42;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"<<\n");\n        WriteBlobString(image,"/Subtype /XML\n");\n        modify_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:modify",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }\n        create_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:create",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }\n        time = GetMagickTime();\n        FormatMagickTime(time,0x1000,date);\n        pcVar19 = EscapeParenthesis(basename);\n        sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");\n        DestroyString(pcVar19);\n        FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"/Type /Metadata\n");\n        WriteBlobString(image,">>\nstream\n");\n        WriteBlobString(image,page_geometry);\n        iVar36 = 0x10;\n        WriteBlobString(image,"\nendstream\n");\n        iVar16 = 0x12;\n        WriteBlobString(image,"endobj\n");\n        local_6224._0_4_ = (Image *)0x3;\n        local_61f4._0_4_ = 3;\n      }\n      else {\n        local_6224._0_4_ = (Image *)0x2;\n        iVar16 = 0x11;\n        iVar36 = 8;\n        local_61f4._0_4_ = 2;\n      }\n      MVar42 = TellBlob(image);\n      dVar45 = (double)(int)(Image *)local_6224;\n      *(MagickOffsetType *)(iVar36 + (int)local_6200) = MVar42;\n      uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      WriteBlobString(image,"/Type /Pages\n");\n      FormatLocaleString(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),\n                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20));\n      WriteBlobString(image,buffer);\n      _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n      local_61ec = 1;\n      pIVar15 = image;\n      if (image_info->adjoin == MagickFalse) {\nLAB_00234b1f:\n        WriteBlobString(image,"]\n");\n        FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,">>\n");\n        WriteBlobString(image,"endobj\n");\n        sVar21 = GetImageListLength(image);\n        height = &geometry.height;\n        y = &geometry.y;\n        x = &geometry.x;\n        local_6144 = 0;\n        local_6140 = 0;\n        local_6224._0_4_ = image;\n        do {\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        } while( true );\n      }\n      while (pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0) {\n        local_61ec = local_61ec + 1;\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        iVar36 = iVar16;\n        if (pSVar17 != (StringInfo *)0x0) {\n          iVar36 = iVar16 + 2;\n        }\n        iVar16 = iVar36 + 0xe;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20));\n        WriteBlobString(image,buffer);\n        pIVar15 = GetNextImageInList(pIVar15);\n      }\n      local_6200 = (uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8);\n      if (local_6200 != (uint *)0x0) goto LAB_00234b1f;\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\nLAB_00239234:\n    MVar14 = MagickFalse;\n    CloseBlob(pIVar40);\n  }\n  goto LAB_002345fa;\nLAB_00239247:\n  MVar42 = TellBlob((Image *)local_6224);\n  local_61fc = (ulonglong)(uVar18 + 7);\n  dVar45 = (double)local_61fc;\n  *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n  uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);\n  FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);\n  WriteBlobString((Image *)local_6224,buffer);\n  WriteBlobString((Image *)local_6224,"<<\n");\n  iVar16 = LocaleCompare(pcVar28,"PDFA");\n  if (iVar16 == 0) {\n    pcVar23 = EscapeParenthesis(basename);\n    FormatLocaleString(buffer,0x1000,"/Title (%s)\n",pcVar23);\n    DestroyString(pcVar23);\n  }\n  else {\n    sVar21 = UTF8ToUTF16((uchar *)basename,(wchar_t *)0x0);\n    puVar33 = (uint *)basename;\n    if (sVar21 == 0) {\n      do {\n        puVar32 = puVar33;\n        uVar30 = *puVar32 + 0xfefefeff & ~*puVar32;\n        uVar27 = uVar30 & 0x80808080;\n        puVar33 = puVar32 + 1;\n      } while (uVar27 == 0);\n      bVar41 = (uVar30 & 0x8080) == 0;\n      if (bVar41) {\n        uVar27 = uVar27 >> 0x10;\n      }\n      if (bVar41) {\n        puVar33 = (uint *)((int)puVar32 + 6);\n      }\n      puVar24 = (uchar *)((int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename));\n      utf16 = (wchar_t *)AcquireQuantumMemory((size_t)(puVar24 + 1),4);\n      puVar31 = (uchar *)0x0;\n      if (utf16 != (wchar_t *)0x0) {\n        do {\n          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);\n          puVar31 = puVar31 + 1;\n        } while (puVar24 + 1 != puVar31);\nLAB_00239c56:\n        builtin_strncpy(date,"0123456789ABCDEF",0x10);\n        FormatLocaleString(buffer,0x1000,"/Title <");\n        WriteBlobString((Image *)local_6224,buffer);\n        if (0 < (int)puVar24) {\n          pwVar38 = utf16;\n          do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);\n        }\n        FormatLocaleString(buffer,0x1000,">\n");\n        RelinquishMagickMemory(utf16);\n      }\n    }\n    else {\n      utf16 = (wchar_t *)AcquireQuantumMemory(sVar21 + 1,4);\n      if (utf16 != (wchar_t *)0x0) {\n        puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);\n        goto LAB_00239c56;\n      }\n    }\n  }\n  WriteBlobString((Image *)local_6224,buffer);\n  seconds = GetMagickTime();\n  gmtime_r(&seconds,(tm *)&utc_time);\n  FormatLocaleString(date,0x1000,"D:%04d%02d%02d%02d%02d%02d",utc_time.tm_year + 0x76c,\n                     utc_time.tm_mon + 1,utc_time.tm_mday,utc_time.tm_hour,utc_time.tm_min,\n                     utc_time.tm_sec);\n  FormatLocaleString(buffer,0x1000,"/CreationDate (%s)\n",date);\n  WriteBlobString((Image *)local_6224,buffer);\n  FormatLocaleString(buffer,0x1000,"/ModDate (%s)\n",date);\n  WriteBlobString((Image *)local_6224,buffer);\n  pcVar23 = EscapeParenthesis("https://imagemagick.org");\n  FormatLocaleString(buffer,0x1000,"/Producer (%s)\n",pcVar23);\n  DestroyString(pcVar23);\n  WriteBlobString((Image *)local_6224,buffer);\n  WriteBlobString((Image *)local_6224,">>\n");\n  WriteBlobString((Image *)local_6224,"endobj\n");\n  MVar42 = TellBlob((Image *)local_6224);\n  uVar27 = (uint)MVar42 - *local_6200;\n  iVar36 = ((int)((ulonglong)MVar42 >> 0x20) - local_6200[1]) - (uint)((uint)MVar42 < *local_6200);\n  iVar16 = LocaleCompare(pcVar28,"PDFA");\n  if (iVar16 == 0) {\n    bVar41 = 0xfffffff9 < uVar27;\n    uVar27 = uVar27 + 6;\n    iVar36 = iVar36 + (uint)bVar41;\n  }\n  local_61f4 = CONCAT44(iVar36 + (uint)(0xfffffff5 < uVar27),uVar27 + 10);\n  WriteBlobString((Image *)local_6224,"xref\n");\n  uVar48 = SUB84(dVar45 + (double)DAT_0029f718,0);\n  uVar47 = (undefined4)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20);\n  FormatLocaleString(buffer,0x1000,"0 %.20g\n",uVar48,uVar47);\n  WriteBlobString((Image *)local_6224,buffer);\n  WriteBlobString((Image *)local_6224,"0000000000 65535 f \n");\n  if (0 < (int)(uVar18 + 7)) {\n    puVar33 = local_6200;\n    do {\n      uVar27 = *puVar33;\n      puVar33 = puVar33 + 2;\n      FormatLocaleString(buffer,0x1000,"%010lu 00000 n \n",uVar27);\n      WriteBlobString((Image *)local_6224,buffer);\n    } while (local_6200 + uVar18 * 2 + 0xe != puVar33);\n  }\n  WriteBlobString((Image *)local_6224,"trailer\n");\n  WriteBlobString((Image *)local_6224,"<<\n");\n  FormatLocaleString(buffer,0x1000,"/Size %.20g\n",uVar48,uVar47);\n  WriteBlobString((Image *)local_6224,buffer);\n  FormatLocaleString(buffer,0x1000,"/Info %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n  WriteBlobString((Image *)local_6224,buffer);\n  FormatLocaleString(buffer,0x1000,"/Root %.20g 0 R\n",0,0x3ff00000);\n  WriteBlobString((Image *)local_6224,buffer);\n  SignatureImage((Image *)local_6224,exception);\n  pcVar23 = GetImageProperty((Image *)local_6224,"signature",exception);\n  pcVar28 = GetImageProperty((Image *)local_6224,"signature",exception);\n  FormatLocaleString(buffer,0x1000,"/ID [<%s> <%s>]\n",pcVar28,pcVar23);\n  WriteBlobString((Image *)local_6224,buffer);\n  WriteBlobString((Image *)local_6224,">>\n");\n  WriteBlobString((Image *)local_6224,"startxref\n");\n  FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(longlong)local_61f4,0),\n                     (int)((ulonglong)(double)(longlong)local_61f4 >> 0x20));\n  WriteBlobString((Image *)local_6224,buffer);\n  MVar14 = MagickTrue;\n  WriteBlobString((Image *)local_6224,"%%EOF\n");\n  RelinquishMagickMemory(local_6200);\n  CloseBlob((Image *)local_6224);\nLAB_002345fa:\n  if (iVar6 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar14;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" type_identifier (function_declarator "WritePDFImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)" identifier (parameter_list "(ImageInfo *image_info,Image *image,ExceptionInfo *exception)" ( (parameter_declaration "ImageInfo *image_info" type_identifier (pointer_declarator "*image_info" * identifier)) , (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  size_t *height;\n  ssize_t *y;\n  ssize_t *x;\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  double dVar4;\n  double dVar5;\n  int iVar6;\n  PixelChannelMap *pPVar7;\n  _Image *p_Var8;\n  ulonglong uVar9;\n  float fVar10;\n  longlong lVar11;\n  undefined2 uVar12;\n  uchar uVar13;\n  MagickBooleanType MVar14;\n  Image *pIVar15;\n  int iVar16;\n  StringInfo *pSVar17;\n  uint uVar18;\n  char *pcVar19;\n  Image *pIVar20;\n  size_t sVar21;\n  MagickStatusType MVar22;\n  char *pcVar23;\n  uchar *puVar24;\n  Quantum *pQVar25;\n  MemoryInfo *pMVar26;\n  uint uVar27;\n  char *pcVar28;\n  time_t time;\n  ssize_t sVar29;\n  uint uVar30;\n  wchar_t *utf16;\n  uchar *puVar31;\n  uint *puVar32;\n  uint *puVar33;\n  uchar *puVar34;\n  uchar *puVar35;\n  char **memory;\n  int iVar36;\n  size_t sVar37;\n  wchar_t *pwVar38;\n  wchar_t *pwVar39;\n  Image *pIVar40;\n  int in_GS_OFFSET;\n  bool bVar41;\n  undefined2 in_FPUControlWord;\n  MagickRealType intensity;\n  MagickOffsetType MVar42;\n  MagickOffsetType MVar43;\n  MagickOffsetType MVar44;\n  double dVar45;\n  undefined4 uVar46;\n  undefined4 uVar47;\n  undefined4 uVar48;\n  double dVar49;\n  undefined8 local_6224;\n  uint *local_6200;\n  ulonglong local_61fc;\n  undefined8 local_61f4;\n  int local_61ec;\n  undefined8 local_61e4;\n  undefined1 local_61dc [4];\n  undefined1 auStack_61d8 [12];\n  double local_61cc;\n  ulonglong local_61c4;\n  CompressionType local_61b8;\n  undefined8 local_61b4;\n  uchar *local_61a8;\n  CompressionType local_61a4;\n  MemoryInfo *local_6194;\n  undefined4 local_615c;\n  undefined4 local_6154;\n  undefined4 uStack_6150;\n  uint local_6144;\n  int local_6140;\n  size_t local_60cc;\n  time_t seconds;\n  RectangleInfo geometry;\n  RectangleInfo media_info;\n  RectangleInfo page_info;\n  GeometryInfo geometry_info;\n  tm_conflict utc_time;\n  char basename [4096];\n  char buffer [4096];\n  char create_date [4096];\n  char modify_date [4096];\n  char date [4096];\n  char page_geometry [4096];\n  \n  iVar6 = *(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/pdf.c",0x52f,"WritePDFImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/pdf.c","WritePDFImage",0x534,"%s",image->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }\n  MVar14 = OpenBlob(image_info,image,WriteBinaryBlobMode,exception);\n  if (MVar14 == MagickFalse) {\nLAB_002345f8:\n    MVar14 = MagickFalse;\n  }\n  else {\n    local_6200 = (uint *)AcquireQuantumMemory(0x800,8);\n    pcVar23 = image->filename;\n    pIVar40 = image;\n    if (local_6200 == (uint *)0x0) {\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      local_6224 = DAT_003068b8;\n      pIVar15 = image;\n      do {\n        if (pIVar15->alpha_trait != UndefinedPixelTrait) {\n          local_6224 = DAT_003068c0;\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      if (image_info->compression == JPEG2000Compression) {\n        local_6224 = (double)_DAT_002aa510;\n      }\n      pcVar28 = image_info->magick;\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      pIVar15 = image;\n      if (iVar16 == 0) {\n        local_6224 = DAT_003068c8;\n      }\n      do {\n        SetImageGray(pIVar15,exception);\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        if (pSVar17 != (StringInfo *)0x0) {\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }\n        uVar18 = pIVar15->colorspace - CMYKColorspace;\n        if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      pcVar19 = GetImageOption(image_info,"pdf:version");\n      if (pcVar19 != (char *)0x0) {\n        dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);\n        if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {\n          dVar45 = _DAT_003068d0;\n        }\n        if (local_6224 <= dVar45) {\n          local_6224 = dVar45;\n        }\n      }\n      FormatLocaleString(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_);\n      WriteBlobString(image,buffer);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        WriteBlobByte(image,'%');\n        WriteBlobByte(image,0xe2);\n        WriteBlobByte(image,0xe3);\n        WriteBlobByte(image,0xcf);\n        WriteBlobByte(image,0xd3);\n        WriteBlobByte(image,'\n');\n      }\n      MVar42 = TellBlob(image);\n      *(MagickOffsetType *)local_6200 = MVar42;\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        uVar46 = 0x40080000;\n      }\n      else {\n        uVar46 = 0x40000000;\n      }\n      FormatLocaleString(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"/Type /Catalog");\n      pcVar19 = GetImageOption(image_info,"pdf:page-direction");\n      if ((pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)\n         ) {\n        WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(image,"\n");\n      WriteBlobString(image,">>\n");\n      WriteBlobString(image,"endobj\n");\n      GetPathComponent(pcVar23,BasePath,basename);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        MVar42 = TellBlob(image);\n        *(MagickOffsetType *)(local_6200 + 2) = MVar42;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"<<\n");\n        WriteBlobString(image,"/Subtype /XML\n");\n        modify_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:modify",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }\n        create_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:create",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }\n        time = GetMagickTime();\n        FormatMagickTime(time,0x1000,date);\n        pcVar19 = EscapeParenthesis(basename);\n        sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");\n        DestroyString(pcVar19);\n        FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"/Type /Metadata\n");\n        WriteBlobString(image,">>\nstream\n");\n        WriteBlobString(image,page_geometry);\n        iVar36 = 0x10;\n        WriteBlobString(image,"\nendstream\n");\n        iVar16 = 0x12;\n        WriteBlobString(image,"endobj\n");\n        local_6224._0_4_ = (Image *)0x3;\n        local_61f4._0_4_ = 3;\n      }\n      else {\n        local_6224._0_4_ = (Image *)0x2;\n        iVar16 = 0x11;\n        iVar36 = 8;\n        local_61f4._0_4_ = 2;\n      }\n      MVar42 = TellBlob(image);\n      dVar45 = (double)(int)(Image *)local_6224;\n      *(MagickOffsetType *)(iVar36 + (int)local_6200) = MVar42;\n      uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      WriteBlobString(image,"/Type /Pages\n");\n      FormatLocaleString(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),\n                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20));\n      WriteBlobString(image,buffer);\n      _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n      local_61ec = 1;\n      pIVar15 = image;\n      if (image_info->adjoin == MagickFalse) {\nLAB_00234b1f:\n        WriteBlobString(image,"]\n");\n        FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,">>\n");\n        WriteBlobString(image,"endobj\n");\n        sVar21 = GetImageListLength(image);\n        height = &geometry.height;\n        y = &geometry.y;\n        x = &geometry.x;\n        local_6144 = 0;\n        local_6140 = 0;\n        local_6224._0_4_ = image;\n        do {\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        } while( true );\n      }\n      while (pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0) {\n        local_61ec = local_61ec + 1;\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        iVar36 = iVar16;\n        if (pSVar17 != (StringInfo *)0x0) {\n          iVar36 = iVar16 + 2;\n        }\n        iVar16 = iVar36 + 0xe;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20));\n        WriteBlobString(image,buffer);\n        pIVar15 = GetNextImageInList(pIVar15);\n      }\n      local_6200 = (uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8);\n      if (local_6200 != (uint *)0x0) goto LAB_00234b1f;\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\nLAB_00239234:\n    MVar14 = MagickFalse;\n    CloseBlob(pIVar40);\n  }\n  goto LAB_002345fa;\nLAB_00239247:\n  MVar42 = TellBlob((Image *)local_6224);\n  local_61fc = (ulonglong)(uVar18 + 7);\n  dVar45 = (double)local_61fc;\n  *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n  uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);\n  FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);\n  WriteBlobString((Image *)local_6224,buffer);\n  WriteBlobString((Image *)local_6224,"<<\n");\n  iVar16 = LocaleCompare(pcVar28,"PDFA");\n  if (iVar16 == 0) {\n    pcVar23 = EscapeParenthesis(basename);\n    FormatLocaleString(buffer,0x1000,"/Title (%s)\n",pcVar23);\n    DestroyString(pcVar23);\n  }\n  else {\n    sVar21 = UTF8ToUTF16((uchar *)basename,(wchar_t *)0x0);\n    puVar33 = (uint *)basename;\n    if (sVar21 == 0) {\n      do {\n        puVar32 = puVar33;\n        uVar30 = *puVar32 + 0xfefefeff & ~*puVar32;\n        uVar27 = uVar30 & 0x80808080;\n        puVar33 = puVar32 + 1;\n      } while (uVar27 == 0);\n      bVar41 = (uVar30 & 0x8080) == 0;\n      if (bVar41) {\n        uVar27 = uVar27 >> 0x10;\n      }\n      if (bVar41) {\n        puVar33 = (uint *)((int)puVar32 + 6);\n      }\n      puVar24 = (uchar *)((int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename));\n      utf16 = (wchar_t *)AcquireQuantumMemory((size_t)(puVar24 + 1),4);\n      puVar31 = (uchar *)0x0;\n      if (utf16 != (wchar_t *)0x0) {\n        do {\n          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);\n          puVar31 = puVar31 + 1;\n        } while (puVar24 + 1 != puVar31);\nLAB_00239c56:\n        builtin_strncpy(date,"0123456789ABCDEF",0x10);\n        FormatLocaleString(buffer,0x1000,"/Title <");\n        WriteBlobString((Image *)local_6224,buffer);\n        if (0 < (int)puVar24) {\n          pwVar38 = utf16;\n          do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);\n        }\n        FormatLocaleString(buffer,0x1000,">\n");\n        RelinquishMagickMemory(utf16);\n      }\n    }\n    else {\n      utf16 = (wchar_t *)AcquireQuantumMemory(sVar21 + 1,4);\n      if (utf16 != (wchar_t *)0x0) {\n        puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);\n        goto LAB_00239c56;\n      }\n    }\n  }\n  WriteBlobString((Image *)local_6224,buffer);\n  seconds = GetMagickTime();\n  gmtime_r(&seconds,(tm *)&utc_time);\n  FormatLocaleString(date,0x1000,"D:%04d%02d%02d%02d%02d%02d",utc_time.tm_year + 0x76c,\n                     utc_time.tm_mon + 1,utc_time.tm_mday,utc_time.tm_hour,utc_time.tm_min,\n                     utc_time.tm_sec);\n  FormatLocaleString(buffer,0x1000,"/CreationDate (%s)\n",date);\n  WriteBlobString((Image *)local_6224,buffer);\n  FormatLocaleString(buffer,0x1000,"/ModDate (%s)\n",date);\n  WriteBlobString((Image *)local_6224,buffer);\n  pcVar23 = EscapeParenthesis("https://imagemagick.org");\n  FormatLocaleString(buffer,0x1000,"/Producer (%s)\n",pcVar23);\n  DestroyString(pcVar23);\n  WriteBlobString((Image *)local_6224,buffer);\n  WriteBlobString((Image *)local_6224,">>\n");\n  WriteBlobString((Image *)local_6224,"endobj\n");\n  MVar42 = TellBlob((Image *)local_6224);\n  uVar27 = (uint)MVar42 - *local_6200;\n  iVar36 = ((int)((ulonglong)MVar42 >> 0x20) - local_6200[1]) - (uint)((uint)MVar42 < *local_6200);\n  iVar16 = LocaleCompare(pcVar28,"PDFA");\n  if (iVar16 == 0) {\n    bVar41 = 0xfffffff9 < uVar27;\n    uVar27 = uVar27 + 6;\n    iVar36 = iVar36 + (uint)bVar41;\n  }\n  local_61f4 = CONCAT44(iVar36 + (uint)(0xfffffff5 < uVar27),uVar27 + 10);\n  WriteBlobString((Image *)local_6224,"xref\n");\n  uVar48 = SUB84(dVar45 + (double)DAT_0029f718,0);\n  uVar47 = (undefined4)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20);\n  FormatLocaleString(buffer,0x1000,"0 %.20g\n",uVar48,uVar47);\n  WriteBlobString((Image *)local_6224,buffer);\n  WriteBlobString((Image *)local_6224,"0000000000 65535 f \n");\n  if (0 < (int)(uVar18 + 7)) {\n    puVar33 = local_6200;\n    do {\n      uVar27 = *puVar33;\n      puVar33 = puVar33 + 2;\n      FormatLocaleString(buffer,0x1000,"%010lu 00000 n \n",uVar27);\n      WriteBlobString((Image *)local_6224,buffer);\n    } while (local_6200 + uVar18 * 2 + 0xe != puVar33);\n  }\n  WriteBlobString((Image *)local_6224,"trailer\n");\n  WriteBlobString((Image *)local_6224,"<<\n");\n  FormatLocaleString(buffer,0x1000,"/Size %.20g\n",uVar48,uVar47);\n  WriteBlobString((Image *)local_6224,buffer);\n  FormatLocaleString(buffer,0x1000,"/Info %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n  WriteBlobString((Image *)local_6224,buffer);\n  FormatLocaleString(buffer,0x1000,"/Root %.20g 0 R\n",0,0x3ff00000);\n  WriteBlobString((Image *)local_6224,buffer);\n  SignatureImage((Image *)local_6224,exception);\n  pcVar23 = GetImageProperty((Image *)local_6224,"signature",exception);\n  pcVar28 = GetImageProperty((Image *)local_6224,"signature",exception);\n  FormatLocaleString(buffer,0x1000,"/ID [<%s> <%s>]\n",pcVar28,pcVar23);\n  WriteBlobString((Image *)local_6224,buffer);\n  WriteBlobString((Image *)local_6224,">>\n");\n  WriteBlobString((Image *)local_6224,"startxref\n");\n  FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(longlong)local_61f4,0),\n                     (int)((ulonglong)(double)(longlong)local_61f4 >> 0x20));\n  WriteBlobString((Image *)local_6224,buffer);\n  MVar14 = MagickTrue;\n  WriteBlobString((Image *)local_6224,"%%EOF\n");\n  RelinquishMagickMemory(local_6200);\n  CloseBlob((Image *)local_6224);\nLAB_002345fa:\n  if (iVar6 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar14;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "size_t *height;" primitive_type (pointer_declarator "*height" * identifier) ;) (declaration "ssize_t *y;" primitive_type (pointer_declarator "*y" * identifier) ;) (declaration "ssize_t *x;" primitive_type (pointer_declarator "*x" * identifier) ;) (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "double dVar4;" primitive_type identifier ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "PixelChannelMap *pPVar7;" type_identifier (pointer_declarator "*pPVar7" * identifier) ;) (declaration "_Image *p_Var8;" type_identifier (pointer_declarator "*p_Var8" * identifier) ;) (declaration "ulonglong uVar9;" type_identifier identifier ;) (declaration "float fVar10;" primitive_type identifier ;) (declaration "longlong lVar11;" type_identifier identifier ;) (declaration "undefined2 uVar12;" type_identifier identifier ;) (declaration "uchar uVar13;" type_identifier identifier ;) (declaration "MagickBooleanType MVar14;" type_identifier identifier ;) (declaration "Image *pIVar15;" type_identifier (pointer_declarator "*pIVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "StringInfo *pSVar17;" type_identifier (pointer_declarator "*pSVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "Image *pIVar20;" type_identifier (pointer_declarator "*pIVar20" * identifier) ;) (declaration "size_t sVar21;" primitive_type identifier ;) (declaration "MagickStatusType MVar22;" type_identifier identifier ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "uchar *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "Quantum *pQVar25;" type_identifier (pointer_declarator "*pQVar25" * identifier) ;) (declaration "MemoryInfo *pMVar26;" type_identifier (pointer_declarator "*pMVar26" * identifier) ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "char *pcVar28;" primitive_type (pointer_declarator "*pcVar28" * identifier) ;) (declaration "time_t time;" type_identifier identifier ;) (declaration "ssize_t sVar29;" primitive_type identifier ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "wchar_t *utf16;" type_identifier (pointer_declarator "*utf16" * identifier) ;) (declaration "uchar *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "uint *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "uint *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "uchar *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "uchar *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "char **memory;" primitive_type (pointer_declarator "**memory" * (pointer_declarator "*memory" * identifier)) ;) (declaration "int iVar36;" primitive_type identifier ;) (declaration "size_t sVar37;" primitive_type identifier ;) (declaration "wchar_t *pwVar38;" type_identifier (pointer_declarator "*pwVar38" * identifier) ;) (declaration "wchar_t *pwVar39;" type_identifier (pointer_declarator "*pwVar39" * identifier) ;) (declaration "Image *pIVar40;" type_identifier (pointer_declarator "*pIVar40" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar41;" primitive_type identifier ;) (declaration "undefined2 in_FPUControlWord;" type_identifier identifier ;) (declaration "MagickRealType intensity;" type_identifier identifier ;) (declaration "MagickOffsetType MVar42;" type_identifier identifier ;) (declaration "MagickOffsetType MVar43;" type_identifier identifier ;) (declaration "MagickOffsetType MVar44;" type_identifier identifier ;) (declaration "double dVar45;" primitive_type identifier ;) (declaration "undefined4 uVar46;" type_identifier identifier ;) (declaration "undefined4 uVar47;" type_identifier identifier ;) (declaration "undefined4 uVar48;" type_identifier identifier ;) (declaration "double dVar49;" primitive_type identifier ;) (declaration "undefined8 local_6224;" type_identifier identifier ;) (declaration "uint *local_6200;" type_identifier (pointer_declarator "*local_6200" * identifier) ;) (declaration "ulonglong local_61fc;" type_identifier identifier ;) (declaration "undefined8 local_61f4;" type_identifier identifier ;) (declaration "int local_61ec;" primitive_type identifier ;) (declaration "undefined8 local_61e4;" type_identifier identifier ;) (declaration "undefined1 local_61dc [4];" type_identifier (array_declarator "local_61dc [4]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_61d8 [12];" type_identifier (array_declarator "auStack_61d8 [12]" identifier [ number_literal ]) ;) (declaration "double local_61cc;" primitive_type identifier ;) (declaration "ulonglong local_61c4;" type_identifier identifier ;) (declaration "CompressionType local_61b8;" type_identifier identifier ;) (declaration "undefined8 local_61b4;" type_identifier identifier ;) (declaration "uchar *local_61a8;" type_identifier (pointer_declarator "*local_61a8" * identifier) ;) (declaration "CompressionType local_61a4;" type_identifier identifier ;) (declaration "MemoryInfo *local_6194;" type_identifier (pointer_declarator "*local_6194" * identifier) ;) (declaration "undefined4 local_615c;" type_identifier identifier ;) (declaration "undefined4 local_6154;" type_identifier identifier ;) (declaration "undefined4 uStack_6150;" type_identifier identifier ;) (declaration "uint local_6144;" type_identifier identifier ;) (declaration "int local_6140;" primitive_type identifier ;) (declaration "size_t local_60cc;" primitive_type identifier ;) (declaration "time_t seconds;" type_identifier identifier ;) (declaration "RectangleInfo geometry;" type_identifier identifier ;) (declaration "RectangleInfo media_info;" type_identifier identifier ;) (declaration "RectangleInfo page_info;" type_identifier identifier ;) (declaration "GeometryInfo geometry_info;" type_identifier identifier ;) (declaration "tm_conflict utc_time;" type_identifier identifier ;) (declaration "char basename [4096];" primitive_type (array_declarator "basename [4096]" identifier [ number_literal ]) ;) (declaration "char buffer [4096];" primitive_type (array_declarator "buffer [4096]" identifier [ number_literal ]) ;) (declaration "char create_date [4096];" primitive_type (array_declarator "create_date [4096]" identifier [ number_literal ]) ;) (declaration "char modify_date [4096];" primitive_type (array_declarator "modify_date [4096]" identifier [ number_literal ]) ;) (declaration "char date [4096];" primitive_type (array_declarator "date [4096]" identifier [ number_literal ]) ;) (declaration "char page_geometry [4096];" primitive_type (array_declarator "page_geometry [4096]" identifier [ number_literal ]) ;) (expression_statement "iVar6 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar6 = *(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/pdf.c",0x52f,"WritePDFImage");\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/pdf.c",0x52f,"WritePDFImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\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/pdf.c",0x530,\n                  "WritePDFImage");\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }" if (parenthesized_expression "(image == (Image *)0x0)" ( (binary_expression "image == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }" { comment (expression_statement "__assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");" (call_expression "__assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage")" identifier (argument_list "("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }" if (parenthesized_expression "(image->signature != 0xabacadab)" ( (binary_expression "image->signature != 0xabacadab" (field_expression "image->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage")" identifier (argument_list "("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/pdf.c","WritePDFImage",0x534,"%s",image->filename);\n  }" if (parenthesized_expression "(image->debug != MagickFalse)" ( (binary_expression "image->debug != MagickFalse" (field_expression "image->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    LogMagickEvent(TraceEvent,"coders/pdf.c","WritePDFImage",0x534,"%s",image->filename);\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"coders/pdf.c","WritePDFImage",0x534,"%s",image->filename);" (call_expression "LogMagickEvent(TraceEvent,"coders/pdf.c","WritePDFImage",0x534,"%s",image->filename)" identifier (argument_list "(TraceEvent,"coders/pdf.c","WritePDFImage",0x534,"%s",image->filename)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (field_expression "image->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\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/pdf.c",0x535,"WritePDFImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\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/pdf.c",0x536,"WritePDFImage"\n                 );\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 )" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 )" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (expression_statement "MVar14 = OpenBlob(image_info,image,WriteBinaryBlobMode,exception);" (assignment_expression "MVar14 = OpenBlob(image_info,image,WriteBinaryBlobMode,exception)" identifier = (call_expression "OpenBlob(image_info,image,WriteBinaryBlobMode,exception)" identifier (argument_list "(image_info,image,WriteBinaryBlobMode,exception)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (MVar14 == MagickFalse) {\nLAB_002345f8:\n    MVar14 = MagickFalse;\n  }\n  else {\n    local_6200 = (uint *)AcquireQuantumMemory(0x800,8);\n    pcVar23 = image->filename;\n    pIVar40 = image;\n    if (local_6200 == (uint *)0x0) {\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      local_6224 = DAT_003068b8;\n      pIVar15 = image;\n      do {\n        if (pIVar15->alpha_trait != UndefinedPixelTrait) {\n          local_6224 = DAT_003068c0;\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      if (image_info->compression == JPEG2000Compression) {\n        local_6224 = (double)_DAT_002aa510;\n      }\n      pcVar28 = image_info->magick;\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      pIVar15 = image;\n      if (iVar16 == 0) {\n        local_6224 = DAT_003068c8;\n      }\n      do {\n        SetImageGray(pIVar15,exception);\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        if (pSVar17 != (StringInfo *)0x0) {\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }\n        uVar18 = pIVar15->colorspace - CMYKColorspace;\n        if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      pcVar19 = GetImageOption(image_info,"pdf:version");\n      if (pcVar19 != (char *)0x0) {\n        dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);\n        if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {\n          dVar45 = _DAT_003068d0;\n        }\n        if (local_6224 <= dVar45) {\n          local_6224 = dVar45;\n        }\n      }\n      FormatLocaleString(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_);\n      WriteBlobString(image,buffer);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        WriteBlobByte(image,'%');\n        WriteBlobByte(image,0xe2);\n        WriteBlobByte(image,0xe3);\n        WriteBlobByte(image,0xcf);\n        WriteBlobByte(image,0xd3);\n        WriteBlobByte(image,'\n');\n      }\n      MVar42 = TellBlob(image);\n      *(MagickOffsetType *)local_6200 = MVar42;\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        uVar46 = 0x40080000;\n      }\n      else {\n        uVar46 = 0x40000000;\n      }\n      FormatLocaleString(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"/Type /Catalog");\n      pcVar19 = GetImageOption(image_info,"pdf:page-direction");\n      if ((pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)\n         ) {\n        WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(image,"\n");\n      WriteBlobString(image,">>\n");\n      WriteBlobString(image,"endobj\n");\n      GetPathComponent(pcVar23,BasePath,basename);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        MVar42 = TellBlob(image);\n        *(MagickOffsetType *)(local_6200 + 2) = MVar42;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"<<\n");\n        WriteBlobString(image,"/Subtype /XML\n");\n        modify_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:modify",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }\n        create_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:create",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }\n        time = GetMagickTime();\n        FormatMagickTime(time,0x1000,date);\n        pcVar19 = EscapeParenthesis(basename);\n        sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");\n        DestroyString(pcVar19);\n        FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"/Type /Metadata\n");\n        WriteBlobString(image,">>\nstream\n");\n        WriteBlobString(image,page_geometry);\n        iVar36 = 0x10;\n        WriteBlobString(image,"\nendstream\n");\n        iVar16 = 0x12;\n        WriteBlobString(image,"endobj\n");\n        local_6224._0_4_ = (Image *)0x3;\n        local_61f4._0_4_ = 3;\n      }\n      else {\n        local_6224._0_4_ = (Image *)0x2;\n        iVar16 = 0x11;\n        iVar36 = 8;\n        local_61f4._0_4_ = 2;\n      }\n      MVar42 = TellBlob(image);\n      dVar45 = (double)(int)(Image *)local_6224;\n      *(MagickOffsetType *)(iVar36 + (int)local_6200) = MVar42;\n      uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      WriteBlobString(image,"/Type /Pages\n");\n      FormatLocaleString(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),\n                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20));\n      WriteBlobString(image,buffer);\n      _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n      local_61ec = 1;\n      pIVar15 = image;\n      if (image_info->adjoin == MagickFalse) {\nLAB_00234b1f:\n        WriteBlobString(image,"]\n");\n        FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,">>\n");\n        WriteBlobString(image,"endobj\n");\n        sVar21 = GetImageListLength(image);\n        height = &geometry.height;\n        y = &geometry.y;\n        x = &geometry.x;\n        local_6144 = 0;\n        local_6140 = 0;\n        local_6224._0_4_ = image;\n        do {\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        } while( true );\n      }\n      while (pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0) {\n        local_61ec = local_61ec + 1;\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        iVar36 = iVar16;\n        if (pSVar17 != (StringInfo *)0x0) {\n          iVar36 = iVar16 + 2;\n        }\n        iVar16 = iVar36 + 0xe;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20));\n        WriteBlobString(image,buffer);\n        pIVar15 = GetNextImageInList(pIVar15);\n      }\n      local_6200 = (uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8);\n      if (local_6200 != (uint *)0x0) goto LAB_00234b1f;\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\nLAB_00239234:\n    MVar14 = MagickFalse;\n    CloseBlob(pIVar40);\n  }" if (parenthesized_expression "(MVar14 == MagickFalse)" ( (binary_expression "MVar14 == MagickFalse" identifier == identifier) )) (compound_statement "{\nLAB_002345f8:\n    MVar14 = MagickFalse;\n  }" { (labeled_statement "LAB_002345f8:\n    MVar14 = MagickFalse;" statement_identifier : (expression_statement "MVar14 = MagickFalse;" (assignment_expression "MVar14 = MagickFalse" identifier = identifier) ;)) }) (else_clause "else {\n    local_6200 = (uint *)AcquireQuantumMemory(0x800,8);\n    pcVar23 = image->filename;\n    pIVar40 = image;\n    if (local_6200 == (uint *)0x0) {\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      local_6224 = DAT_003068b8;\n      pIVar15 = image;\n      do {\n        if (pIVar15->alpha_trait != UndefinedPixelTrait) {\n          local_6224 = DAT_003068c0;\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      if (image_info->compression == JPEG2000Compression) {\n        local_6224 = (double)_DAT_002aa510;\n      }\n      pcVar28 = image_info->magick;\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      pIVar15 = image;\n      if (iVar16 == 0) {\n        local_6224 = DAT_003068c8;\n      }\n      do {\n        SetImageGray(pIVar15,exception);\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        if (pSVar17 != (StringInfo *)0x0) {\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }\n        uVar18 = pIVar15->colorspace - CMYKColorspace;\n        if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      pcVar19 = GetImageOption(image_info,"pdf:version");\n      if (pcVar19 != (char *)0x0) {\n        dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);\n        if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {\n          dVar45 = _DAT_003068d0;\n        }\n        if (local_6224 <= dVar45) {\n          local_6224 = dVar45;\n        }\n      }\n      FormatLocaleString(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_);\n      WriteBlobString(image,buffer);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        WriteBlobByte(image,'%');\n        WriteBlobByte(image,0xe2);\n        WriteBlobByte(image,0xe3);\n        WriteBlobByte(image,0xcf);\n        WriteBlobByte(image,0xd3);\n        WriteBlobByte(image,'\n');\n      }\n      MVar42 = TellBlob(image);\n      *(MagickOffsetType *)local_6200 = MVar42;\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        uVar46 = 0x40080000;\n      }\n      else {\n        uVar46 = 0x40000000;\n      }\n      FormatLocaleString(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"/Type /Catalog");\n      pcVar19 = GetImageOption(image_info,"pdf:page-direction");\n      if ((pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)\n         ) {\n        WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(image,"\n");\n      WriteBlobString(image,">>\n");\n      WriteBlobString(image,"endobj\n");\n      GetPathComponent(pcVar23,BasePath,basename);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        MVar42 = TellBlob(image);\n        *(MagickOffsetType *)(local_6200 + 2) = MVar42;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"<<\n");\n        WriteBlobString(image,"/Subtype /XML\n");\n        modify_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:modify",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }\n        create_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:create",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }\n        time = GetMagickTime();\n        FormatMagickTime(time,0x1000,date);\n        pcVar19 = EscapeParenthesis(basename);\n        sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");\n        DestroyString(pcVar19);\n        FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"/Type /Metadata\n");\n        WriteBlobString(image,">>\nstream\n");\n        WriteBlobString(image,page_geometry);\n        iVar36 = 0x10;\n        WriteBlobString(image,"\nendstream\n");\n        iVar16 = 0x12;\n        WriteBlobString(image,"endobj\n");\n        local_6224._0_4_ = (Image *)0x3;\n        local_61f4._0_4_ = 3;\n      }\n      else {\n        local_6224._0_4_ = (Image *)0x2;\n        iVar16 = 0x11;\n        iVar36 = 8;\n        local_61f4._0_4_ = 2;\n      }\n      MVar42 = TellBlob(image);\n      dVar45 = (double)(int)(Image *)local_6224;\n      *(MagickOffsetType *)(iVar36 + (int)local_6200) = MVar42;\n      uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      WriteBlobString(image,"/Type /Pages\n");\n      FormatLocaleString(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),\n                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20));\n      WriteBlobString(image,buffer);\n      _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n      local_61ec = 1;\n      pIVar15 = image;\n      if (image_info->adjoin == MagickFalse) {\nLAB_00234b1f:\n        WriteBlobString(image,"]\n");\n        FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,">>\n");\n        WriteBlobString(image,"endobj\n");\n        sVar21 = GetImageListLength(image);\n        height = &geometry.height;\n        y = &geometry.y;\n        x = &geometry.x;\n        local_6144 = 0;\n        local_6140 = 0;\n        local_6224._0_4_ = image;\n        do {\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        } while( true );\n      }\n      while (pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0) {\n        local_61ec = local_61ec + 1;\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        iVar36 = iVar16;\n        if (pSVar17 != (StringInfo *)0x0) {\n          iVar36 = iVar16 + 2;\n        }\n        iVar16 = iVar36 + 0xe;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20));\n        WriteBlobString(image,buffer);\n        pIVar15 = GetNextImageInList(pIVar15);\n      }\n      local_6200 = (uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8);\n      if (local_6200 != (uint *)0x0) goto LAB_00234b1f;\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\nLAB_00239234:\n    MVar14 = MagickFalse;\n    CloseBlob(pIVar40);\n  }" else (compound_statement "{\n    local_6200 = (uint *)AcquireQuantumMemory(0x800,8);\n    pcVar23 = image->filename;\n    pIVar40 = image;\n    if (local_6200 == (uint *)0x0) {\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      local_6224 = DAT_003068b8;\n      pIVar15 = image;\n      do {\n        if (pIVar15->alpha_trait != UndefinedPixelTrait) {\n          local_6224 = DAT_003068c0;\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      if (image_info->compression == JPEG2000Compression) {\n        local_6224 = (double)_DAT_002aa510;\n      }\n      pcVar28 = image_info->magick;\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      pIVar15 = image;\n      if (iVar16 == 0) {\n        local_6224 = DAT_003068c8;\n      }\n      do {\n        SetImageGray(pIVar15,exception);\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        if (pSVar17 != (StringInfo *)0x0) {\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }\n        uVar18 = pIVar15->colorspace - CMYKColorspace;\n        if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      pcVar19 = GetImageOption(image_info,"pdf:version");\n      if (pcVar19 != (char *)0x0) {\n        dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);\n        if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {\n          dVar45 = _DAT_003068d0;\n        }\n        if (local_6224 <= dVar45) {\n          local_6224 = dVar45;\n        }\n      }\n      FormatLocaleString(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_);\n      WriteBlobString(image,buffer);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        WriteBlobByte(image,'%');\n        WriteBlobByte(image,0xe2);\n        WriteBlobByte(image,0xe3);\n        WriteBlobByte(image,0xcf);\n        WriteBlobByte(image,0xd3);\n        WriteBlobByte(image,'\n');\n      }\n      MVar42 = TellBlob(image);\n      *(MagickOffsetType *)local_6200 = MVar42;\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        uVar46 = 0x40080000;\n      }\n      else {\n        uVar46 = 0x40000000;\n      }\n      FormatLocaleString(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"/Type /Catalog");\n      pcVar19 = GetImageOption(image_info,"pdf:page-direction");\n      if ((pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)\n         ) {\n        WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(image,"\n");\n      WriteBlobString(image,">>\n");\n      WriteBlobString(image,"endobj\n");\n      GetPathComponent(pcVar23,BasePath,basename);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        MVar42 = TellBlob(image);\n        *(MagickOffsetType *)(local_6200 + 2) = MVar42;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"<<\n");\n        WriteBlobString(image,"/Subtype /XML\n");\n        modify_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:modify",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }\n        create_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:create",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }\n        time = GetMagickTime();\n        FormatMagickTime(time,0x1000,date);\n        pcVar19 = EscapeParenthesis(basename);\n        sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");\n        DestroyString(pcVar19);\n        FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"/Type /Metadata\n");\n        WriteBlobString(image,">>\nstream\n");\n        WriteBlobString(image,page_geometry);\n        iVar36 = 0x10;\n        WriteBlobString(image,"\nendstream\n");\n        iVar16 = 0x12;\n        WriteBlobString(image,"endobj\n");\n        local_6224._0_4_ = (Image *)0x3;\n        local_61f4._0_4_ = 3;\n      }\n      else {\n        local_6224._0_4_ = (Image *)0x2;\n        iVar16 = 0x11;\n        iVar36 = 8;\n        local_61f4._0_4_ = 2;\n      }\n      MVar42 = TellBlob(image);\n      dVar45 = (double)(int)(Image *)local_6224;\n      *(MagickOffsetType *)(iVar36 + (int)local_6200) = MVar42;\n      uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      WriteBlobString(image,"/Type /Pages\n");\n      FormatLocaleString(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),\n                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20));\n      WriteBlobString(image,buffer);\n      _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n      local_61ec = 1;\n      pIVar15 = image;\n      if (image_info->adjoin == MagickFalse) {\nLAB_00234b1f:\n        WriteBlobString(image,"]\n");\n        FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,">>\n");\n        WriteBlobString(image,"endobj\n");\n        sVar21 = GetImageListLength(image);\n        height = &geometry.height;\n        y = &geometry.y;\n        x = &geometry.x;\n        local_6144 = 0;\n        local_6140 = 0;\n        local_6224._0_4_ = image;\n        do {\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        } while( true );\n      }\n      while (pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0) {\n        local_61ec = local_61ec + 1;\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        iVar36 = iVar16;\n        if (pSVar17 != (StringInfo *)0x0) {\n          iVar36 = iVar16 + 2;\n        }\n        iVar16 = iVar36 + 0xe;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20));\n        WriteBlobString(image,buffer);\n        pIVar15 = GetNextImageInList(pIVar15);\n      }\n      local_6200 = (uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8);\n      if (local_6200 != (uint *)0x0) goto LAB_00234b1f;\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\nLAB_00239234:\n    MVar14 = MagickFalse;\n    CloseBlob(pIVar40);\n  }" { (expression_statement "local_6200 = (uint *)AcquireQuantumMemory(0x800,8);" (assignment_expression "local_6200 = (uint *)AcquireQuantumMemory(0x800,8)" identifier = (cast_expression "(uint *)AcquireQuantumMemory(0x800,8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(0x800,8)" identifier (argument_list "(0x800,8)" ( number_literal , number_literal ))))) ;) (expression_statement "pcVar23 = image->filename;" (assignment_expression "pcVar23 = image->filename" identifier = (field_expression "image->filename" identifier -> field_identifier)) ;) (expression_statement "pIVar40 = image;" (assignment_expression "pIVar40 = image" identifier = identifier) ;) (if_statement "if (local_6200 == (uint *)0x0) {\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      local_6224 = DAT_003068b8;\n      pIVar15 = image;\n      do {\n        if (pIVar15->alpha_trait != UndefinedPixelTrait) {\n          local_6224 = DAT_003068c0;\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      if (image_info->compression == JPEG2000Compression) {\n        local_6224 = (double)_DAT_002aa510;\n      }\n      pcVar28 = image_info->magick;\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      pIVar15 = image;\n      if (iVar16 == 0) {\n        local_6224 = DAT_003068c8;\n      }\n      do {\n        SetImageGray(pIVar15,exception);\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        if (pSVar17 != (StringInfo *)0x0) {\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }\n        uVar18 = pIVar15->colorspace - CMYKColorspace;\n        if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      pcVar19 = GetImageOption(image_info,"pdf:version");\n      if (pcVar19 != (char *)0x0) {\n        dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);\n        if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {\n          dVar45 = _DAT_003068d0;\n        }\n        if (local_6224 <= dVar45) {\n          local_6224 = dVar45;\n        }\n      }\n      FormatLocaleString(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_);\n      WriteBlobString(image,buffer);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        WriteBlobByte(image,'%');\n        WriteBlobByte(image,0xe2);\n        WriteBlobByte(image,0xe3);\n        WriteBlobByte(image,0xcf);\n        WriteBlobByte(image,0xd3);\n        WriteBlobByte(image,'\n');\n      }\n      MVar42 = TellBlob(image);\n      *(MagickOffsetType *)local_6200 = MVar42;\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        uVar46 = 0x40080000;\n      }\n      else {\n        uVar46 = 0x40000000;\n      }\n      FormatLocaleString(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"/Type /Catalog");\n      pcVar19 = GetImageOption(image_info,"pdf:page-direction");\n      if ((pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)\n         ) {\n        WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(image,"\n");\n      WriteBlobString(image,">>\n");\n      WriteBlobString(image,"endobj\n");\n      GetPathComponent(pcVar23,BasePath,basename);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        MVar42 = TellBlob(image);\n        *(MagickOffsetType *)(local_6200 + 2) = MVar42;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"<<\n");\n        WriteBlobString(image,"/Subtype /XML\n");\n        modify_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:modify",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }\n        create_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:create",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }\n        time = GetMagickTime();\n        FormatMagickTime(time,0x1000,date);\n        pcVar19 = EscapeParenthesis(basename);\n        sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");\n        DestroyString(pcVar19);\n        FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"/Type /Metadata\n");\n        WriteBlobString(image,">>\nstream\n");\n        WriteBlobString(image,page_geometry);\n        iVar36 = 0x10;\n        WriteBlobString(image,"\nendstream\n");\n        iVar16 = 0x12;\n        WriteBlobString(image,"endobj\n");\n        local_6224._0_4_ = (Image *)0x3;\n        local_61f4._0_4_ = 3;\n      }\n      else {\n        local_6224._0_4_ = (Image *)0x2;\n        iVar16 = 0x11;\n        iVar36 = 8;\n        local_61f4._0_4_ = 2;\n      }\n      MVar42 = TellBlob(image);\n      dVar45 = (double)(int)(Image *)local_6224;\n      *(MagickOffsetType *)(iVar36 + (int)local_6200) = MVar42;\n      uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      WriteBlobString(image,"/Type /Pages\n");\n      FormatLocaleString(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),\n                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20));\n      WriteBlobString(image,buffer);\n      _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n      local_61ec = 1;\n      pIVar15 = image;\n      if (image_info->adjoin == MagickFalse) {\nLAB_00234b1f:\n        WriteBlobString(image,"]\n");\n        FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,">>\n");\n        WriteBlobString(image,"endobj\n");\n        sVar21 = GetImageListLength(image);\n        height = &geometry.height;\n        y = &geometry.y;\n        x = &geometry.x;\n        local_6144 = 0;\n        local_6140 = 0;\n        local_6224._0_4_ = image;\n        do {\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        } while( true );\n      }\n      while (pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0) {\n        local_61ec = local_61ec + 1;\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        iVar36 = iVar16;\n        if (pSVar17 != (StringInfo *)0x0) {\n          iVar36 = iVar16 + 2;\n        }\n        iVar16 = iVar36 + 0xe;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20));\n        WriteBlobString(image,buffer);\n        pIVar15 = GetNextImageInList(pIVar15);\n      }\n      local_6200 = (uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8);\n      if (local_6200 != (uint *)0x0) goto LAB_00234b1f;\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }" if (parenthesized_expression "(local_6200 == (uint *)0x0)" ( (binary_expression "local_6200 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }" { (expression_statement "ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);" (call_expression "ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23)" identifier (argument_list "(exception,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , number_literal , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "p_Var8 = (_Image *)image_info->adjoin;" (assignment_expression "p_Var8 = (_Image *)image_info->adjoin" identifier = (cast_expression "(_Image *)image_info->adjoin" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image_info->adjoin" identifier -> field_identifier))) ;) (while_statement "while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }" while (parenthesized_expression "(pIVar15 = image, p_Var8 != (_Image *)0x0)" ( (comma_expression "pIVar15 = image, p_Var8 != (_Image *)0x0" (assignment_expression "pIVar15 = image" identifier = identifier) , (binary_expression "p_Var8 != (_Image *)0x0" identifier != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }" { (expression_statement "p_Var8 = pIVar15->previous;" (assignment_expression "p_Var8 = pIVar15->previous" identifier = (field_expression "pIVar15->previous" identifier -> field_identifier)) ;) (expression_statement "image = p_Var8;" (assignment_expression "image = p_Var8" identifier = identifier) ;) (expression_statement "pIVar40 = pIVar15;" (assignment_expression "pIVar40 = pIVar15" identifier = identifier) ;) })) }) (else_clause "else {\n      memset(local_6200,0,0x4000);\n      local_6224 = DAT_003068b8;\n      pIVar15 = image;\n      do {\n        if (pIVar15->alpha_trait != UndefinedPixelTrait) {\n          local_6224 = DAT_003068c0;\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      if (image_info->compression == JPEG2000Compression) {\n        local_6224 = (double)_DAT_002aa510;\n      }\n      pcVar28 = image_info->magick;\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      pIVar15 = image;\n      if (iVar16 == 0) {\n        local_6224 = DAT_003068c8;\n      }\n      do {\n        SetImageGray(pIVar15,exception);\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        if (pSVar17 != (StringInfo *)0x0) {\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }\n        uVar18 = pIVar15->colorspace - CMYKColorspace;\n        if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      pcVar19 = GetImageOption(image_info,"pdf:version");\n      if (pcVar19 != (char *)0x0) {\n        dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);\n        if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {\n          dVar45 = _DAT_003068d0;\n        }\n        if (local_6224 <= dVar45) {\n          local_6224 = dVar45;\n        }\n      }\n      FormatLocaleString(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_);\n      WriteBlobString(image,buffer);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        WriteBlobByte(image,'%');\n        WriteBlobByte(image,0xe2);\n        WriteBlobByte(image,0xe3);\n        WriteBlobByte(image,0xcf);\n        WriteBlobByte(image,0xd3);\n        WriteBlobByte(image,'\n');\n      }\n      MVar42 = TellBlob(image);\n      *(MagickOffsetType *)local_6200 = MVar42;\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        uVar46 = 0x40080000;\n      }\n      else {\n        uVar46 = 0x40000000;\n      }\n      FormatLocaleString(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"/Type /Catalog");\n      pcVar19 = GetImageOption(image_info,"pdf:page-direction");\n      if ((pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)\n         ) {\n        WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(image,"\n");\n      WriteBlobString(image,">>\n");\n      WriteBlobString(image,"endobj\n");\n      GetPathComponent(pcVar23,BasePath,basename);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        MVar42 = TellBlob(image);\n        *(MagickOffsetType *)(local_6200 + 2) = MVar42;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"<<\n");\n        WriteBlobString(image,"/Subtype /XML\n");\n        modify_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:modify",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }\n        create_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:create",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }\n        time = GetMagickTime();\n        FormatMagickTime(time,0x1000,date);\n        pcVar19 = EscapeParenthesis(basename);\n        sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");\n        DestroyString(pcVar19);\n        FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"/Type /Metadata\n");\n        WriteBlobString(image,">>\nstream\n");\n        WriteBlobString(image,page_geometry);\n        iVar36 = 0x10;\n        WriteBlobString(image,"\nendstream\n");\n        iVar16 = 0x12;\n        WriteBlobString(image,"endobj\n");\n        local_6224._0_4_ = (Image *)0x3;\n        local_61f4._0_4_ = 3;\n      }\n      else {\n        local_6224._0_4_ = (Image *)0x2;\n        iVar16 = 0x11;\n        iVar36 = 8;\n        local_61f4._0_4_ = 2;\n      }\n      MVar42 = TellBlob(image);\n      dVar45 = (double)(int)(Image *)local_6224;\n      *(MagickOffsetType *)(iVar36 + (int)local_6200) = MVar42;\n      uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      WriteBlobString(image,"/Type /Pages\n");\n      FormatLocaleString(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),\n                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20));\n      WriteBlobString(image,buffer);\n      _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n      local_61ec = 1;\n      pIVar15 = image;\n      if (image_info->adjoin == MagickFalse) {\nLAB_00234b1f:\n        WriteBlobString(image,"]\n");\n        FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,">>\n");\n        WriteBlobString(image,"endobj\n");\n        sVar21 = GetImageListLength(image);\n        height = &geometry.height;\n        y = &geometry.y;\n        x = &geometry.x;\n        local_6144 = 0;\n        local_6140 = 0;\n        local_6224._0_4_ = image;\n        do {\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        } while( true );\n      }\n      while (pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0) {\n        local_61ec = local_61ec + 1;\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        iVar36 = iVar16;\n        if (pSVar17 != (StringInfo *)0x0) {\n          iVar36 = iVar16 + 2;\n        }\n        iVar16 = iVar36 + 0xe;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20));\n        WriteBlobString(image,buffer);\n        pIVar15 = GetNextImageInList(pIVar15);\n      }\n      local_6200 = (uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8);\n      if (local_6200 != (uint *)0x0) goto LAB_00234b1f;\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }" else (compound_statement "{\n      memset(local_6200,0,0x4000);\n      local_6224 = DAT_003068b8;\n      pIVar15 = image;\n      do {\n        if (pIVar15->alpha_trait != UndefinedPixelTrait) {\n          local_6224 = DAT_003068c0;\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      if (image_info->compression == JPEG2000Compression) {\n        local_6224 = (double)_DAT_002aa510;\n      }\n      pcVar28 = image_info->magick;\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      pIVar15 = image;\n      if (iVar16 == 0) {\n        local_6224 = DAT_003068c8;\n      }\n      do {\n        SetImageGray(pIVar15,exception);\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        if (pSVar17 != (StringInfo *)0x0) {\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }\n        uVar18 = pIVar15->colorspace - CMYKColorspace;\n        if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);\n      pcVar19 = GetImageOption(image_info,"pdf:version");\n      if (pcVar19 != (char *)0x0) {\n        dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);\n        if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {\n          dVar45 = _DAT_003068d0;\n        }\n        if (local_6224 <= dVar45) {\n          local_6224 = dVar45;\n        }\n      }\n      FormatLocaleString(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_);\n      WriteBlobString(image,buffer);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        WriteBlobByte(image,'%');\n        WriteBlobByte(image,0xe2);\n        WriteBlobByte(image,0xe3);\n        WriteBlobByte(image,0xcf);\n        WriteBlobByte(image,0xd3);\n        WriteBlobByte(image,'\n');\n      }\n      MVar42 = TellBlob(image);\n      *(MagickOffsetType *)local_6200 = MVar42;\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        uVar46 = 0x40080000;\n      }\n      else {\n        uVar46 = 0x40000000;\n      }\n      FormatLocaleString(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"/Type /Catalog");\n      pcVar19 = GetImageOption(image_info,"pdf:page-direction");\n      if ((pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)\n         ) {\n        WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(image,"\n");\n      WriteBlobString(image,">>\n");\n      WriteBlobString(image,"endobj\n");\n      GetPathComponent(pcVar23,BasePath,basename);\n      iVar16 = LocaleCompare(pcVar28,"PDFA");\n      if (iVar16 == 0) {\n        MVar42 = TellBlob(image);\n        *(MagickOffsetType *)(local_6200 + 2) = MVar42;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"<<\n");\n        WriteBlobString(image,"/Subtype /XML\n");\n        modify_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:modify",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }\n        create_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:create",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }\n        time = GetMagickTime();\n        FormatMagickTime(time,0x1000,date);\n        pcVar19 = EscapeParenthesis(basename);\n        sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");\n        DestroyString(pcVar19);\n        FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"/Type /Metadata\n");\n        WriteBlobString(image,">>\nstream\n");\n        WriteBlobString(image,page_geometry);\n        iVar36 = 0x10;\n        WriteBlobString(image,"\nendstream\n");\n        iVar16 = 0x12;\n        WriteBlobString(image,"endobj\n");\n        local_6224._0_4_ = (Image *)0x3;\n        local_61f4._0_4_ = 3;\n      }\n      else {\n        local_6224._0_4_ = (Image *)0x2;\n        iVar16 = 0x11;\n        iVar36 = 8;\n        local_61f4._0_4_ = 2;\n      }\n      MVar42 = TellBlob(image);\n      dVar45 = (double)(int)(Image *)local_6224;\n      *(MagickOffsetType *)(iVar36 + (int)local_6200) = MVar42;\n      uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);\n      FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);\n      WriteBlobString(image,buffer);\n      WriteBlobString(image,"<<\n");\n      WriteBlobString(image,"/Type /Pages\n");\n      FormatLocaleString(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),\n                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20));\n      WriteBlobString(image,buffer);\n      _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n      local_61ec = 1;\n      pIVar15 = image;\n      if (image_info->adjoin == MagickFalse) {\nLAB_00234b1f:\n        WriteBlobString(image,"]\n");\n        FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,">>\n");\n        WriteBlobString(image,"endobj\n");\n        sVar21 = GetImageListLength(image);\n        height = &geometry.height;\n        y = &geometry.y;\n        x = &geometry.x;\n        local_6144 = 0;\n        local_6140 = 0;\n        local_6224._0_4_ = image;\n        do {\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        } while( true );\n      }\n      while (pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0) {\n        local_61ec = local_61ec + 1;\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        iVar36 = iVar16;\n        if (pSVar17 != (StringInfo *)0x0) {\n          iVar36 = iVar16 + 2;\n        }\n        iVar16 = iVar36 + 0xe;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20));\n        WriteBlobString(image,buffer);\n        pIVar15 = GetNextImageInList(pIVar15);\n      }\n      local_6200 = (uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8);\n      if (local_6200 != (uint *)0x0) goto LAB_00234b1f;\n      ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);\n      p_Var8 = (_Image *)image_info->adjoin;\n      while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }\n    }" { (expression_statement "memset(local_6200,0,0x4000);" (call_expression "memset(local_6200,0,0x4000)" identifier (argument_list "(local_6200,0,0x4000)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "local_6224 = DAT_003068b8;" (assignment_expression "local_6224 = DAT_003068b8" identifier = identifier) ;) (expression_statement "pIVar15 = image;" (assignment_expression "pIVar15 = image" identifier = identifier) ;) (do_statement "do {\n        if (pIVar15->alpha_trait != UndefinedPixelTrait) {\n          local_6224 = DAT_003068c0;\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);" do (compound_statement "{\n        if (pIVar15->alpha_trait != UndefinedPixelTrait) {\n          local_6224 = DAT_003068c0;\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      }" { (if_statement "if (pIVar15->alpha_trait != UndefinedPixelTrait) {\n          local_6224 = DAT_003068c0;\n        }" if (parenthesized_expression "(pIVar15->alpha_trait != UndefinedPixelTrait)" ( (binary_expression "pIVar15->alpha_trait != UndefinedPixelTrait" (field_expression "pIVar15->alpha_trait" identifier -> field_identifier) != identifier) )) (compound_statement "{\n          local_6224 = DAT_003068c0;\n        }" { (expression_statement "local_6224 = DAT_003068c0;" (assignment_expression "local_6224 = DAT_003068c0" identifier = identifier) ;) })) (expression_statement "pIVar15 = GetNextImageInList(pIVar15);" (assignment_expression "pIVar15 = GetNextImageInList(pIVar15)" identifier = (call_expression "GetNextImageInList(pIVar15)" identifier (argument_list "(pIVar15)" ( identifier )))) ;) }) while (parenthesized_expression "(pIVar15 != (Image *)0x0)" ( (binary_expression "pIVar15 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (image_info->compression == JPEG2000Compression) {\n        local_6224 = (double)_DAT_002aa510;\n      }" if (parenthesized_expression "(image_info->compression == JPEG2000Compression)" ( (binary_expression "image_info->compression == JPEG2000Compression" (field_expression "image_info->compression" identifier -> field_identifier) == identifier) )) (compound_statement "{\n        local_6224 = (double)_DAT_002aa510;\n      }" { (expression_statement "local_6224 = (double)_DAT_002aa510;" (assignment_expression "local_6224 = (double)_DAT_002aa510" identifier = (cast_expression "(double)_DAT_002aa510" ( (type_descriptor "double" primitive_type) ) identifier)) ;) })) (expression_statement "pcVar28 = image_info->magick;" (assignment_expression "pcVar28 = image_info->magick" identifier = (field_expression "image_info->magick" identifier -> field_identifier)) ;) (expression_statement "iVar16 = LocaleCompare(pcVar28,"PDFA");" (assignment_expression "iVar16 = LocaleCompare(pcVar28,"PDFA")" identifier = (call_expression "LocaleCompare(pcVar28,"PDFA")" identifier (argument_list "(pcVar28,"PDFA")" ( identifier , (string_literal ""PDFA"" " string_content ") )))) ;) (expression_statement "pIVar15 = image;" (assignment_expression "pIVar15 = image" identifier = identifier) ;) (if_statement "if (iVar16 == 0) {\n        local_6224 = DAT_003068c8;\n      }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n        local_6224 = DAT_003068c8;\n      }" { (expression_statement "local_6224 = DAT_003068c8;" (assignment_expression "local_6224 = DAT_003068c8" identifier = identifier) ;) })) (do_statement "do {\n        SetImageGray(pIVar15,exception);\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        if (pSVar17 != (StringInfo *)0x0) {\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }\n        uVar18 = pIVar15->colorspace - CMYKColorspace;\n        if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      } while (pIVar15 != (Image *)0x0);" do (compound_statement "{\n        SetImageGray(pIVar15,exception);\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        if (pSVar17 != (StringInfo *)0x0) {\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }\n        uVar18 = pIVar15->colorspace - CMYKColorspace;\n        if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }\n        pIVar15 = GetNextImageInList(pIVar15);\n      }" { (expression_statement "SetImageGray(pIVar15,exception);" (call_expression "SetImageGray(pIVar15,exception)" identifier (argument_list "(pIVar15,exception)" ( identifier , identifier ))) ;) (expression_statement "pSVar17 = GetImageProfile(pIVar15,"icc");" (assignment_expression "pSVar17 = GetImageProfile(pIVar15,"icc")" identifier = (call_expression "GetImageProfile(pIVar15,"icc")" identifier (argument_list "(pIVar15,"icc")" ( identifier , (string_literal ""icc"" " string_content ") )))) ;) (if_statement "if (pSVar17 != (StringInfo *)0x0) {\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }" if (parenthesized_expression "(pSVar17 != (StringInfo *)0x0)" ( (binary_expression "pSVar17 != (StringInfo *)0x0" identifier != (cast_expression "(StringInfo *)0x0" ( (type_descriptor "StringInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          SetImageStorageClass(pIVar15,DirectClass,exception);\n          local_6224 = _DAT_003068d0;\n        }" { (expression_statement "SetImageStorageClass(pIVar15,DirectClass,exception);" (call_expression "SetImageStorageClass(pIVar15,DirectClass,exception)" identifier (argument_list "(pIVar15,DirectClass,exception)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_6224 = _DAT_003068d0;" (assignment_expression "local_6224 = _DAT_003068d0" identifier = identifier) ;) })) (expression_statement "uVar18 = pIVar15->colorspace - CMYKColorspace;" (assignment_expression "uVar18 = pIVar15->colorspace - CMYKColorspace" identifier = (binary_expression "pIVar15->colorspace - CMYKColorspace" (field_expression "pIVar15->colorspace" identifier -> field_identifier) - identifier)) ;) (if_statement "if ((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }" if (parenthesized_expression "((0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0))" ( (binary_expression "(0x1f < uVar18) || ((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)" (parenthesized_expression "(0x1f < uVar18)" ( (binary_expression "0x1f < uVar18" number_literal < identifier) )) || (parenthesized_expression "((0x80780003U >> (uVar18 & 0x1f) & 1) == 0)" ( (binary_expression "(0x80780003U >> (uVar18 & 0x1f) & 1) == 0" (parenthesized_expression "(0x80780003U >> (uVar18 & 0x1f) & 1)" ( (binary_expression "0x80780003U >> (uVar18 & 0x1f) & 1" (binary_expression "0x80780003U >> (uVar18 & 0x1f)" number_literal >> (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          TransformImageColorspace(pIVar15,sRGBColorspace,exception);\n        }" { (expression_statement "TransformImageColorspace(pIVar15,sRGBColorspace,exception);" (call_expression "TransformImageColorspace(pIVar15,sRGBColorspace,exception)" identifier (argument_list "(pIVar15,sRGBColorspace,exception)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "pIVar15 = GetNextImageInList(pIVar15);" (assignment_expression "pIVar15 = GetNextImageInList(pIVar15)" identifier = (call_expression "GetNextImageInList(pIVar15)" identifier (argument_list "(pIVar15)" ( identifier )))) ;) }) while (parenthesized_expression "(pIVar15 != (Image *)0x0)" ( (binary_expression "pIVar15 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pcVar19 = GetImageOption(image_info,"pdf:version");" (assignment_expression "pcVar19 = GetImageOption(image_info,"pdf:version")" identifier = (call_expression "GetImageOption(image_info,"pdf:version")" identifier (argument_list "(image_info,"pdf:version")" ( identifier , (string_literal ""pdf:version"" " string_content ") )))) ;) (if_statement "if (pcVar19 != (char *)0x0) {\n        dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);\n        if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {\n          dVar45 = _DAT_003068d0;\n        }\n        if (local_6224 <= dVar45) {\n          local_6224 = dVar45;\n        }\n      }" if (parenthesized_expression "(pcVar19 != (char *)0x0)" ( (binary_expression "pcVar19 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);\n        if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {\n          dVar45 = _DAT_003068d0;\n        }\n        if (local_6224 <= dVar45) {\n          local_6224 = dVar45;\n        }\n      }" { (expression_statement "dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0);" (assignment_expression "dVar45 = InterpretLocaleValue(pcVar19,(char **)0x0)" identifier = (call_expression "InterpretLocaleValue(pcVar19,(char **)0x0)" identifier (argument_list "(pcVar19,(char **)0x0)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (if_statement "if (_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0) {\n          dVar45 = _DAT_003068d0;\n        }" if (parenthesized_expression "(_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0)" ( (binary_expression "_DAT_003068d0 <= dVar45 || dVar45 != _DAT_003068d0" (binary_expression "_DAT_003068d0 <= dVar45" identifier <= identifier) || (binary_expression "dVar45 != _DAT_003068d0" identifier != identifier)) )) (compound_statement "{\n          dVar45 = _DAT_003068d0;\n        }" { (expression_statement "dVar45 = _DAT_003068d0;" (assignment_expression "dVar45 = _DAT_003068d0" identifier = identifier) ;) })) (if_statement "if (local_6224 <= dVar45) {\n          local_6224 = dVar45;\n        }" if (parenthesized_expression "(local_6224 <= dVar45)" ( (binary_expression "local_6224 <= dVar45" identifier <= identifier) )) (compound_statement "{\n          local_6224 = dVar45;\n        }" { (expression_statement "local_6224 = dVar45;" (assignment_expression "local_6224 = dVar45" identifier = identifier) ;) })) })) (expression_statement "FormatLocaleString(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_);" (call_expression "FormatLocaleString(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_)" identifier (argument_list "(buffer,0x1000,"%%PDF-%.2g \n",(Image *)local_6224,local_6224._4_4_)" ( identifier , number_literal , (string_literal ""%%PDF-%.2g \n"" " string_content escape_sequence ") , (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "local_6224._4_4_" identifier . field_identifier) ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "iVar16 = LocaleCompare(pcVar28,"PDFA");" (assignment_expression "iVar16 = LocaleCompare(pcVar28,"PDFA")" identifier = (call_expression "LocaleCompare(pcVar28,"PDFA")" identifier (argument_list "(pcVar28,"PDFA")" ( identifier , (string_literal ""PDFA"" " string_content ") )))) ;) (if_statement "if (iVar16 == 0) {\n        WriteBlobByte(image,'%');\n        WriteBlobByte(image,0xe2);\n        WriteBlobByte(image,0xe3);\n        WriteBlobByte(image,0xcf);\n        WriteBlobByte(image,0xd3);\n        WriteBlobByte(image,'\n');\n      }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n        WriteBlobByte(image,'%');\n        WriteBlobByte(image,0xe2);\n        WriteBlobByte(image,0xe3);\n        WriteBlobByte(image,0xcf);\n        WriteBlobByte(image,0xd3);\n        WriteBlobByte(image,'\n');\n      }" { (expression_statement "WriteBlobByte(image,'%');" (call_expression "WriteBlobByte(image,'%')" identifier (argument_list "(image,'%')" ( identifier , (char_literal "'%'" ' character ') ))) ;) (expression_statement "WriteBlobByte(image,0xe2);" (call_expression "WriteBlobByte(image,0xe2)" identifier (argument_list "(image,0xe2)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(image,0xe3);" (call_expression "WriteBlobByte(image,0xe3)" identifier (argument_list "(image,0xe3)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(image,0xcf);" (call_expression "WriteBlobByte(image,0xcf)" identifier (argument_list "(image,0xcf)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(image,0xd3);" (call_expression "WriteBlobByte(image,0xd3)" identifier (argument_list "(image,0xd3)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(image,'\n');" (call_expression "WriteBlobByte(image,'\n')" identifier (argument_list "(image,'\n')" ( identifier , (char_literal "'\n'" ' escape_sequence ') ))) ;) })) (expression_statement "MVar42 = TellBlob(image);" (assignment_expression "MVar42 = TellBlob(image)" identifier = (call_expression "TellBlob(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "*(MagickOffsetType *)local_6200 = MVar42;" (assignment_expression "*(MagickOffsetType *)local_6200 = MVar42" (pointer_expression "*(MagickOffsetType *)local_6200" * (cast_expression "(MagickOffsetType *)local_6200" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000);" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000)" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000)" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , number_literal , number_literal ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(image,"<<\n");" (call_expression "WriteBlobString(image,"<<\n")" identifier (argument_list "(image,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar16 = LocaleCompare(pcVar28,"PDFA");" (assignment_expression "iVar16 = LocaleCompare(pcVar28,"PDFA")" identifier = (call_expression "LocaleCompare(pcVar28,"PDFA")" identifier (argument_list "(pcVar28,"PDFA")" ( identifier , (string_literal ""PDFA"" " string_content ") )))) ;) (if_statement "if (iVar16 == 0) {\n        FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        uVar46 = 0x40080000;\n      }\n      else {\n        uVar46 = 0x40000000;\n      }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n        FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        uVar46 = 0x40080000;\n      }" { (expression_statement "FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);" (call_expression "FormatLocaleString(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000)" identifier (argument_list "(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000)" ( identifier , number_literal , (string_literal ""/Metadata %.20g 0 R\n"" " string_content escape_sequence ") , number_literal , number_literal ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "uVar46 = 0x40080000;" (assignment_expression "uVar46 = 0x40080000" identifier = number_literal) ;) }) (else_clause "else {\n        uVar46 = 0x40000000;\n      }" else (compound_statement "{\n        uVar46 = 0x40000000;\n      }" { (expression_statement "uVar46 = 0x40000000;" (assignment_expression "uVar46 = 0x40000000" identifier = number_literal) ;) }))) (expression_statement "FormatLocaleString(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46);" (call_expression "FormatLocaleString(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46)" identifier (argument_list "(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46)" ( identifier , number_literal , (string_literal ""/Pages %.20g 0 R\n"" " string_content escape_sequence ") , number_literal , identifier ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(image,"/Type /Catalog");" (call_expression "WriteBlobString(image,"/Type /Catalog")" identifier (argument_list "(image,"/Type /Catalog")" ( identifier , (string_literal ""/Type /Catalog"" " string_content ") ))) ;) (expression_statement "pcVar19 = GetImageOption(image_info,"pdf:page-direction");" (assignment_expression "pcVar19 = GetImageOption(image_info,"pdf:page-direction")" identifier = (call_expression "GetImageOption(image_info,"pdf:page-direction")" identifier (argument_list "(image_info,"pdf:page-direction")" ( identifier , (string_literal ""pdf:page-direction"" " string_content ") )))) ;) (if_statement "if ((pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)\n         ) {\n        WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }" if (parenthesized_expression "((pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)\n         )" ( (binary_expression "(pcVar19 != (char *)0x0) && (iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)" (parenthesized_expression "(pcVar19 != (char *)0x0)" ( (binary_expression "pcVar19 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0)" ( (comma_expression "iVar16 = LocaleCompare(pcVar19,"right-to-left"), iVar16 == 0" (assignment_expression "iVar16 = LocaleCompare(pcVar19,"right-to-left")" identifier = (call_expression "LocaleCompare(pcVar19,"right-to-left")" identifier (argument_list "(pcVar19,"right-to-left")" ( identifier , (string_literal ""right-to-left"" " string_content ") )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }" { (expression_statement "WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n");" (call_expression "WriteBlobString(image,"/ViewerPreferences<</PageDirection/R2L>>\n")" identifier (argument_list "(image,"/ViewerPreferences<</PageDirection/R2L>>\n")" ( identifier , (string_literal ""/ViewerPreferences<</PageDirection/R2L>>\n"" " string_content escape_sequence ") ))) ;) })) (expression_statement "WriteBlobString(image,"\n");" (call_expression "WriteBlobString(image,"\n")" identifier (argument_list "(image,"\n")" ( identifier , (string_literal ""\n"" " escape_sequence ") ))) ;) (expression_statement "WriteBlobString(image,">>\n");" (call_expression "WriteBlobString(image,">>\n")" identifier (argument_list "(image,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(image,"endobj\n");" (call_expression "WriteBlobString(image,"endobj\n")" identifier (argument_list "(image,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "GetPathComponent(pcVar23,BasePath,basename);" (call_expression "GetPathComponent(pcVar23,BasePath,basename)" identifier (argument_list "(pcVar23,BasePath,basename)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar16 = LocaleCompare(pcVar28,"PDFA");" (assignment_expression "iVar16 = LocaleCompare(pcVar28,"PDFA")" identifier = (call_expression "LocaleCompare(pcVar28,"PDFA")" identifier (argument_list "(pcVar28,"PDFA")" ( identifier , (string_literal ""PDFA"" " string_content ") )))) ;) (if_statement "if (iVar16 == 0) {\n        MVar42 = TellBlob(image);\n        *(MagickOffsetType *)(local_6200 + 2) = MVar42;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"<<\n");\n        WriteBlobString(image,"/Subtype /XML\n");\n        modify_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:modify",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }\n        create_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:create",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }\n        time = GetMagickTime();\n        FormatMagickTime(time,0x1000,date);\n        pcVar19 = EscapeParenthesis(basename);\n        sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");\n        DestroyString(pcVar19);\n        FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"/Type /Metadata\n");\n        WriteBlobString(image,">>\nstream\n");\n        WriteBlobString(image,page_geometry);\n        iVar36 = 0x10;\n        WriteBlobString(image,"\nendstream\n");\n        iVar16 = 0x12;\n        WriteBlobString(image,"endobj\n");\n        local_6224._0_4_ = (Image *)0x3;\n        local_61f4._0_4_ = 3;\n      }\n      else {\n        local_6224._0_4_ = (Image *)0x2;\n        iVar16 = 0x11;\n        iVar36 = 8;\n        local_61f4._0_4_ = 2;\n      }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n        MVar42 = TellBlob(image);\n        *(MagickOffsetType *)(local_6200 + 2) = MVar42;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"<<\n");\n        WriteBlobString(image,"/Subtype /XML\n");\n        modify_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:modify",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }\n        create_date[0] = '\0';\n        pcVar19 = GetImageProperty(image,"date:create",exception);\n        if (pcVar19 != (char *)0x0) {\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }\n        time = GetMagickTime();\n        FormatMagickTime(time,0x1000,date);\n        pcVar19 = EscapeParenthesis(basename);\n        sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");\n        DestroyString(pcVar19);\n        FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,"/Type /Metadata\n");\n        WriteBlobString(image,">>\nstream\n");\n        WriteBlobString(image,page_geometry);\n        iVar36 = 0x10;\n        WriteBlobString(image,"\nendstream\n");\n        iVar16 = 0x12;\n        WriteBlobString(image,"endobj\n");\n        local_6224._0_4_ = (Image *)0x3;\n        local_61f4._0_4_ = 3;\n      }" { (expression_statement "MVar42 = TellBlob(image);" (assignment_expression "MVar42 = TellBlob(image)" identifier = (call_expression "TellBlob(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + 2) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + 2) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + 2)" * (cast_expression "(MagickOffsetType *)(local_6200 + 2)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + 2)" ( (binary_expression "local_6200 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000)" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000)" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , number_literal , number_literal ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(image,"<<\n");" (call_expression "WriteBlobString(image,"<<\n")" identifier (argument_list "(image,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(image,"/Subtype /XML\n");" (call_expression "WriteBlobString(image,"/Subtype /XML\n")" identifier (argument_list "(image,"/Subtype /XML\n")" ( identifier , (string_literal ""/Subtype /XML\n"" " string_content escape_sequence ") ))) ;) (expression_statement "modify_date[0] = '\0';" (assignment_expression "modify_date[0] = '\0'" (subscript_expression "modify_date[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar19 = GetImageProperty(image,"date:modify",exception);" (assignment_expression "pcVar19 = GetImageProperty(image,"date:modify",exception)" identifier = (call_expression "GetImageProperty(image,"date:modify",exception)" identifier (argument_list "(image,"date:modify",exception)" ( identifier , (string_literal ""date:modify"" " string_content ") , identifier )))) ;) (if_statement "if (pcVar19 != (char *)0x0) {\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }" if (parenthesized_expression "(pcVar19 != (char *)0x0)" ( (binary_expression "pcVar19 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          CopyMagickString(modify_date,pcVar19,0x1000);\n        }" { (expression_statement "CopyMagickString(modify_date,pcVar19,0x1000);" (call_expression "CopyMagickString(modify_date,pcVar19,0x1000)" identifier (argument_list "(modify_date,pcVar19,0x1000)" ( identifier , identifier , number_literal ))) ;) })) (expression_statement "create_date[0] = '\0';" (assignment_expression "create_date[0] = '\0'" (subscript_expression "create_date[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar19 = GetImageProperty(image,"date:create",exception);" (assignment_expression "pcVar19 = GetImageProperty(image,"date:create",exception)" identifier = (call_expression "GetImageProperty(image,"date:create",exception)" identifier (argument_list "(image,"date:create",exception)" ( identifier , (string_literal ""date:create"" " string_content ") , identifier )))) ;) (if_statement "if (pcVar19 != (char *)0x0) {\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }" if (parenthesized_expression "(pcVar19 != (char *)0x0)" ( (binary_expression "pcVar19 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          CopyMagickString(create_date,pcVar19,0x1000);\n        }" { (expression_statement "CopyMagickString(create_date,pcVar19,0x1000);" (call_expression "CopyMagickString(create_date,pcVar19,0x1000)" identifier (argument_list "(create_date,pcVar19,0x1000)" ( identifier , identifier , number_literal ))) ;) })) (expression_statement "time = GetMagickTime();" (assignment_expression "time = GetMagickTime()" identifier = (call_expression "GetMagickTime()" identifier (argument_list "()" ( )))) ;) (expression_statement "FormatMagickTime(time,0x1000,date);" (call_expression "FormatMagickTime(time,0x1000,date)" identifier (argument_list "(time,0x1000,date)" ( identifier , number_literal , identifier ))) ;) (expression_statement "pcVar19 = EscapeParenthesis(basename);" (assignment_expression "pcVar19 = EscapeParenthesis(basename)" identifier = (call_expression "EscapeParenthesis(basename)" identifier (argument_list "(basename)" ( identifier )))) ;) (expression_statement "sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org");" (assignment_expression "sVar29 = FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org")" identifier = (call_expression "FormatLocaleString(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org")" identifier (argument_list "(page_geometry,0x1000,\n                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"\n                                    ,WritePDFImage::XMPProfileMagick,modify_date,create_date,date,\n                                    "https://imagemagick.org",pcVar19,"https://imagemagick.org")" ( identifier , number_literal , (string_literal ""<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (ERROR "WritePDFImage::" identifier : :) identifier , identifier , identifier , identifier , (string_literal ""https://imagemagick.org"" " string_content ") , identifier , (string_literal ""https://imagemagick.org"" " string_content ") )))) ;) (expression_statement "DestroyString(pcVar19);" (call_expression "DestroyString(pcVar19)" identifier (argument_list "(pcVar19)" ( identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Length %.20g\n",SUB84((double)sVar29,0),\n                           (int)((ulonglong)(double)sVar29 >> 0x20))" ( identifier , number_literal , (string_literal ""/Length %.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)sVar29,0)" identifier (argument_list "((double)sVar29,0)" ( (cast_expression "(double)sVar29" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)sVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)sVar29 >> 0x20)" ( (binary_expression "(ulonglong)(double)sVar29 >> 0x20" (cast_expression "(ulonglong)(double)sVar29" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)sVar29" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(image,"/Type /Metadata\n");" (call_expression "WriteBlobString(image,"/Type /Metadata\n")" identifier (argument_list "(image,"/Type /Metadata\n")" ( identifier , (string_literal ""/Type /Metadata\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(image,">>\nstream\n");" (call_expression "WriteBlobString(image,">>\nstream\n")" identifier (argument_list "(image,">>\nstream\n")" ( identifier , (string_literal "">>\nstream\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(image,page_geometry);" (call_expression "WriteBlobString(image,page_geometry)" identifier (argument_list "(image,page_geometry)" ( identifier , identifier ))) ;) (expression_statement "iVar36 = 0x10;" (assignment_expression "iVar36 = 0x10" identifier = number_literal) ;) (expression_statement "WriteBlobString(image,"\nendstream\n");" (call_expression "WriteBlobString(image,"\nendstream\n")" identifier (argument_list "(image,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "iVar16 = 0x12;" (assignment_expression "iVar16 = 0x12" identifier = number_literal) ;) (expression_statement "WriteBlobString(image,"endobj\n");" (call_expression "WriteBlobString(image,"endobj\n")" identifier (argument_list "(image,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_6224._0_4_ = (Image *)0x3;" (assignment_expression "local_6224._0_4_ = (Image *)0x3" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)0x3" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_61f4._0_4_ = 3;" (assignment_expression "local_61f4._0_4_ = 3" (field_expression "local_61f4._0_4_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n        local_6224._0_4_ = (Image *)0x2;\n        iVar16 = 0x11;\n        iVar36 = 8;\n        local_61f4._0_4_ = 2;\n      }" else (compound_statement "{\n        local_6224._0_4_ = (Image *)0x2;\n        iVar16 = 0x11;\n        iVar36 = 8;\n        local_61f4._0_4_ = 2;\n      }" { (expression_statement "local_6224._0_4_ = (Image *)0x2;" (assignment_expression "local_6224._0_4_ = (Image *)0x2" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)0x2" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar16 = 0x11;" (assignment_expression "iVar16 = 0x11" identifier = number_literal) ;) (expression_statement "iVar36 = 8;" (assignment_expression "iVar36 = 8" identifier = number_literal) ;) (expression_statement "local_61f4._0_4_ = 2;" (assignment_expression "local_61f4._0_4_ = 2" (field_expression "local_61f4._0_4_" identifier . field_identifier) = number_literal) ;) }))) (expression_statement "MVar42 = TellBlob(image);" (assignment_expression "MVar42 = TellBlob(image)" identifier = (call_expression "TellBlob(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "dVar45 = (double)(int)(Image *)local_6224;" (assignment_expression "dVar45 = (double)(int)(Image *)local_6224" identifier = (cast_expression "(double)(int)(Image *)local_6224" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "*(MagickOffsetType *)(iVar36 + (int)local_6200) = MVar42;" (assignment_expression "*(MagickOffsetType *)(iVar36 + (int)local_6200) = MVar42" (pointer_expression "*(MagickOffsetType *)(iVar36 + (int)local_6200)" * (cast_expression "(MagickOffsetType *)(iVar36 + (int)local_6200)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar36 + (int)local_6200)" ( (binary_expression "iVar36 + (int)local_6200" identifier + (cast_expression "(int)local_6200" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = identifier) ;) (expression_statement "uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);" (assignment_expression "uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)dVar45 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)dVar45 >> 0x20)" ( (binary_expression "(ulonglong)dVar45 >> 0x20" (cast_expression "(ulonglong)dVar45" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46)" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46)" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar45,0)" identifier (argument_list "(dVar45,0)" ( identifier , number_literal ))) , identifier ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(image,"<<\n");" (call_expression "WriteBlobString(image,"<<\n")" identifier (argument_list "(image,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(image,"/Type /Pages\n");" (call_expression "WriteBlobString(image,"/Type /Pages\n")" identifier (argument_list "(image,"/Type /Pages\n")" ( identifier , (string_literal ""/Type /Pages\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),\n                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),\n                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Kids [ %.20g 0 R ",SUB84(dVar45 + (double)DAT_0029f718,0),\n                         (int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20))" ( identifier , number_literal , (string_literal ""/Kids [ %.20g 0 R "" " string_content ") , (call_expression "SUB84(dVar45 + (double)DAT_0029f718,0)" identifier (argument_list "(dVar45 + (double)DAT_0029f718,0)" ( (binary_expression "dVar45 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20)" ( (binary_expression "(ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20" (call_expression "(ulonglong)(dVar45 + (double)DAT_0029f718)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar45 + (double)DAT_0029f718)" ( (binary_expression "dVar45 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "_local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);" (assignment_expression "_local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20)" identifier = (call_expression "(longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20)" (parenthesized_expression "(longdouble)" ( identifier )) (argument_list "((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20)" ( (binary_expression "(unkuint10)(uint6)auStack_61d8._0_6_ << 0x20" (cast_expression "(unkuint10)(uint6)auStack_61d8._0_6_" ( (type_descriptor "unkuint10" type_identifier) ) (cast_expression "(uint6)auStack_61d8._0_6_" ( (type_descriptor "uint6" type_identifier) ) (field_expression "auStack_61d8._0_6_" identifier . field_identifier))) << number_literal) )))) ;) (expression_statement "local_61ec = 1;" (assignment_expression "local_61ec = 1" identifier = number_literal) ;) (expression_statement "pIVar15 = image;" (assignment_expression "pIVar15 = image" identifier = identifier) ;) (if_statement "if (image_info->adjoin == MagickFalse) {\nLAB_00234b1f:\n        WriteBlobString(image,"]\n");\n        FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,">>\n");\n        WriteBlobString(image,"endobj\n");\n        sVar21 = GetImageListLength(image);\n        height = &geometry.height;\n        y = &geometry.y;\n        x = &geometry.x;\n        local_6144 = 0;\n        local_6140 = 0;\n        local_6224._0_4_ = image;\n        do {\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        } while( true );\n      }" if (parenthesized_expression "(image_info->adjoin == MagickFalse)" ( (binary_expression "image_info->adjoin == MagickFalse" (field_expression "image_info->adjoin" identifier -> field_identifier) == identifier) )) (compound_statement "{\nLAB_00234b1f:\n        WriteBlobString(image,"]\n");\n        FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20));\n        WriteBlobString(image,buffer);\n        WriteBlobString(image,">>\n");\n        WriteBlobString(image,"endobj\n");\n        sVar21 = GetImageListLength(image);\n        height = &geometry.height;\n        y = &geometry.y;\n        x = &geometry.x;\n        local_6144 = 0;\n        local_6140 = 0;\n        local_6224._0_4_ = image;\n        do {\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        } while( true );\n      }" { (labeled_statement "LAB_00234b1f:\n        WriteBlobString(image,"]\n");" statement_identifier : (expression_statement "WriteBlobString(image,"]\n");" (call_expression "WriteBlobString(image,"]\n")" identifier (argument_list "(image,"]\n")" ( identifier , (string_literal ""]\n"" " string_content escape_sequence ") ))) ;)) (expression_statement "FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Count %.20g\n",SUB84((double)local_61ec,0),\n                           (int)((ulonglong)(double)local_61ec >> 0x20))" ( identifier , number_literal , (string_literal ""/Count %.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)local_61ec,0)" identifier (argument_list "((double)local_61ec,0)" ( (cast_expression "(double)local_61ec" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_61ec >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_61ec >> 0x20)" ( (binary_expression "(ulonglong)(double)local_61ec >> 0x20" (cast_expression "(ulonglong)(double)local_61ec" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_61ec" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(image,">>\n");" (call_expression "WriteBlobString(image,">>\n")" identifier (argument_list "(image,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(image,"endobj\n");" (call_expression "WriteBlobString(image,"endobj\n")" identifier (argument_list "(image,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "sVar21 = GetImageListLength(image);" (assignment_expression "sVar21 = GetImageListLength(image)" identifier = (call_expression "GetImageListLength(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "height = &geometry.height;" (assignment_expression "height = &geometry.height" identifier = (pointer_expression "&geometry.height" & (field_expression "geometry.height" identifier . field_identifier))) ;) (expression_statement "y = &geometry.y;" (assignment_expression "y = &geometry.y" identifier = (pointer_expression "&geometry.y" & (field_expression "geometry.y" identifier . field_identifier))) ;) (expression_statement "x = &geometry.x;" (assignment_expression "x = &geometry.x" identifier = (pointer_expression "&geometry.x" & (field_expression "geometry.x" identifier . field_identifier))) ;) (expression_statement "local_6144 = 0;" (assignment_expression "local_6144 = 0" identifier = number_literal) ;) (expression_statement "local_6140 = 0;" (assignment_expression "local_6140 = 0" identifier = number_literal) ;) (expression_statement "local_6224._0_4_ = image;" (assignment_expression "local_6224._0_4_ = image" (field_expression "local_6224._0_4_" identifier . field_identifier) = identifier) ;) (do_statement "do {\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        } while( true );" do (compound_statement "{\n          pIVar40 = (Image *)local_6224;\n          pSVar17 = GetImageProfile((Image *)local_6224,"icc");\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);\n          local_61a4 = image_info->compression;\n          if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }\n          local_61a8 = (uchar *)(local_61a4 - FaxCompression);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }\n          local_61b4 = (((Image *)local_6224)->resolution).x;\n          local_61cc = (((Image *)local_6224)->resolution).y;\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }\n          if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry((Image *)local_6224,&geometry);\n          FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));\n          if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }\n          ConcatenateMagickString(page_geometry,">",0x1000);\n          ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);\n          fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;\n          dVar1 = (double)fVar10;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.width = local_60cc;\n          fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;\n          dVar49 = (double)fVar10;\n          seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);\n          utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));\n          geometry.height = local_60cc;\n          ParseAbsoluteGeometry(page_geometry,&media_info);\n          ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);\n          if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }\n          local_61e4 = image_info->pointsize;\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty((Image *)local_6224,"label",exception);\n          MVar42 = TellBlob((Image *)local_6224);\n          dVar5 = (double)((uint)local_61f4 + 1);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          WriteBlobString((Image *)local_6224,"/Type /Page\n");\n          FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"/Resources <<\n");\n          memory = (char **)0x0;\n          pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);\n          if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);\n          dVar3 = (double)DAT_0029f120;\n          dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);\n          FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          dVar2 = ((double)media_info.height * dVar3) / local_61cc;\n          local_61cc = (double)(ulonglong)media_info.width;\n          uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);\n          local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;\n          FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          pcVar23 = buffer;\n          WriteBlobString((Image *)local_6224,buffer);\n          fVar10 = DAT_002a9ba8;\n          if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }\n          dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));\n          FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"endobj\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);\n          dVar5 = (double)(longlong)local_61cc;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,"<<\n");\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          WriteBlobString((Image *)local_6224,">>\n");\n          WriteBlobString((Image *)local_6224,"stream\n");\n          MVar42 = TellBlob((Image *)local_6224);\n          WriteBlobString((Image *)local_6224,"q\n");\n          if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }\n          uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);\n          local_6154 = SUB84(dVar49,0);\n          local_615c = SUB84(dVar1,0);\n          FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));\n          WriteBlobString((Image *)local_6224,buffer);\n          local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;\n          FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"Q\n");\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;\n          local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40," ]\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;\n          local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;\n          dVar1 = (double)((uint)local_61f4 + 6);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          WriteBlobString(pIVar40,"/Type /XObject\n");\n          WriteBlobString(pIVar40,"/Subtype /Image\n");\n          local_61cc = (double)(ulonglong)pIVar40->scene;\n          FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\nLAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc = (double)(ulonglong)pIVar40->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;\n          uVar18 = (uint)uVar9;\n          if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }\n          if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }\n_L184:\n          iVar16 = LocaleCompare("0","0");\n          if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\nLAB_002361b2:\n          MVar43 = TellBlob(pIVar40);\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar44 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;\n          local_61c4 = (ulonglong)((uint)local_61f4 + 7);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          uVar18 = (uint)local_61f4 + 8;\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;\n          local_61c4 = (ulonglong)uVar18;\n          dVar1 = (double)local_61c4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }\n          WriteBlobString(pIVar40,"endobj\n");\n          SetGeometry(pIVar40,&geometry);\n          ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);\n          pcVar23 = GetImageOption(image_info,"pdf:thumbnail");\n          MVar14 = IsStringTrue(pcVar23);\n          if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }\n          pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);\n          if (pIVar15 == (Image *)0x0) goto LAB_002345f8;\n          MVar42 = TellBlob(pIVar40);\n          dVar1 = (double)(uVar18 + 1);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }\n          pcVar19 = "/Filter [ /%s ]\n";\n          FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n          dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023649f:\n          pcVar23 = buffer;\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->columns;\n          FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          local_61c4 = (ulonglong)pIVar15->rows;\n          FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          fVar10 = DAT_002a9b78;\n          if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }\n          dVar49 = (double)((float)(uVar18 + 1) - fVar10);\n          FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,">>\n");\n          WriteBlobString(pIVar40,"stream\n");\n          MVar42 = TellBlob(pIVar40);\n          if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }\n          sVar37 = pIVar15->rows * pIVar15->columns;\n          if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }\n          MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);\n          if (MVar14 == MagickFalse) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(pIVar15);\n          MVar43 = TellBlob(pIVar40);\n          lVar11 = MVar43 - MVar42;\n          WriteBlobString(pIVar40,"\nendstream\n");\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;\n          _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 3);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }\n          _local_61dc = (longdouble)lVar11;\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 4);\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          MVar42 = TellBlob(pIVar40);\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;\n          local_61f4 = (ulonglong)(uVar18 + 5);\n          dVar1 = (double)local_61f4;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"<<\n");\n          if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(pIVar40,">>\n");\nLAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");\n          local_61f4._0_4_ = uVar18 + 6;\n          MVar42 = TellBlob(pIVar40);\n          local_61cc = (double)(ulonglong)(uint)local_61f4;\n          *(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;\n          FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));\n          WriteBlobString(pIVar40,buffer);\n          WriteBlobString(pIVar40,"endobj\n");\n          pIVar15 = GetNextImageInList(pIVar40);\n          local_6224._0_4_ = pIVar40;\n          if (pIVar15 == (Image *)0x0) goto LAB_00239247;\n          local_6224._0_4_ = SyncNextImageInList(pIVar40);\n          iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);\n          _local_61dc = CONCAT44(iVar16,local_6144 + 1);\n          MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);\n          if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;\n        }" { (expression_statement "pIVar40 = (Image *)local_6224;" (assignment_expression "pIVar40 = (Image *)local_6224" identifier = (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pSVar17 = GetImageProfile((Image *)local_6224,"icc");" (assignment_expression "pSVar17 = GetImageProfile((Image *)local_6224,"icc")" identifier = (call_expression "GetImageProfile((Image *)local_6224,"icc")" identifier (argument_list "((Image *)local_6224,"icc")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""icc"" " string_content ") )))) ;) (expression_statement "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17);" (assignment_expression "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17)" identifier = (cast_expression "(longdouble)CONCAT64(auStack_61d8._0_6_,pSVar17)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "CONCAT64(auStack_61d8._0_6_,pSVar17)" identifier (argument_list "(auStack_61d8._0_6_,pSVar17)" ( (field_expression "auStack_61d8._0_6_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "local_61a4 = image_info->compression;" (assignment_expression "local_61a4 = image_info->compression" identifier = (field_expression "image_info->compression" identifier -> field_identifier)) ;) (if_statement "if (image_info->compression == UndefinedCompression) {\n            local_61a4 = ((Image *)local_6224)->compression;\n          }" if (parenthesized_expression "(image_info->compression == UndefinedCompression)" ( (binary_expression "image_info->compression == UndefinedCompression" (field_expression "image_info->compression" identifier -> field_identifier) == identifier) )) (compound_statement "{\n            local_61a4 = ((Image *)local_6224)->compression;\n          }" { (expression_statement "local_61a4 = ((Image *)local_6224)->compression;" (assignment_expression "local_61a4 = ((Image *)local_6224)->compression" identifier = (field_expression "((Image *)local_6224)->compression" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;) })) (expression_statement "local_61a8 = (uchar *)(local_61a4 - FaxCompression);" (assignment_expression "local_61a8 = (uchar *)(local_61a4 - FaxCompression)" identifier = (cast_expression "(uchar *)(local_61a4 - FaxCompression)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_61a4 - FaxCompression)" ( (binary_expression "local_61a4 - FaxCompression" identifier - identifier) )))) ;) (expression_statement "local_61b8 = local_61a4;" (assignment_expression "local_61b8 = local_61a4" identifier = identifier) ;) (switch_statement "switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;\n          default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;\n          case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;\n          case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;\n          case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;\n          }" { (case_statement "case (uchar *)0x0:" case (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uchar *)0x1:\n            MVar14 = SetImageMonochrome((Image *)local_6224,exception);\n            if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;\n            goto LAB_00234e0c;" case (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "MVar14 = SetImageMonochrome((Image *)local_6224,exception);" (assignment_expression "MVar14 = SetImageMonochrome((Image *)local_6224,exception)" identifier = (call_expression "SetImageMonochrome((Image *)local_6224,exception)" identifier (argument_list "((Image *)local_6224,exception)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (if_statement "if ((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)) goto _L429;" if (parenthesized_expression "((MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait))" ( (binary_expression "(MVar14 != MagickFalse) &&\n               (((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)" (parenthesized_expression "(MVar14 != MagickFalse)" ( (binary_expression "MVar14 != MagickFalse" identifier != identifier) )) && (parenthesized_expression "(((Image *)local_6224)->alpha_trait == UndefinedPixelTrait)" ( (binary_expression "((Image *)local_6224)->alpha_trait == UndefinedPixelTrait" (field_expression "((Image *)local_6224)->alpha_trait" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) == identifier) ))) )) (goto_statement "goto _L429;" goto statement_identifier ;)) (goto_statement "goto LAB_00234e0c;" goto statement_identifier ;)) (case_statement "default:\n_L429:\n            local_61a4 = (CompressionType)local_61a8;\n            break;" default : (labeled_statement "_L429:\n            local_61a4 = (CompressionType)local_61a8;" statement_identifier : (expression_statement "local_61a4 = (CompressionType)local_61a8;" (assignment_expression "local_61a4 = (CompressionType)local_61a8" identifier = (cast_expression "(CompressionType)local_61a8" ( (type_descriptor "CompressionType" type_identifier) ) identifier)) ;)) (break_statement "break;" break ;)) (case_statement "case (uchar *)0x4:\n            pcVar23 = "`%s\' (JP2)";\n            sVar37 = 0x60a;\n            goto LAB_00234df2;" case (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar23 = "`%s\' (JP2)";" (assignment_expression "pcVar23 = "`%s\' (JP2)"" identifier = (string_literal ""`%s\' (JP2)"" " string_content escape_sequence string_content ")) ;) (expression_statement "sVar37 = 0x60a;" (assignment_expression "sVar37 = 0x60a" identifier = number_literal) ;) (goto_statement "goto LAB_00234df2;" goto statement_identifier ;)) (case_statement "case (uchar *)0x5:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);\n            local_61a8 = (uchar *)0xc;\n            local_61b8 = RLECompression;\n            break;" case (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename);" (call_expression "ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename)" identifier (argument_list "(exception,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",\n                       ((Image *)local_6224)->filename)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , number_literal , identifier , (string_literal ""DelegateLibrarySupportNotBuiltIn"" " string_content ") , (string_literal ""`%s\' (JPEG)"" " string_content escape_sequence string_content ") , (field_expression "((Image *)local_6224)->filename" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) ))) ;) (expression_statement "local_61a8 = (uchar *)0xc;" (assignment_expression "local_61a8 = (uchar *)0xc" identifier = (cast_expression "(uchar *)0xc" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_61b8 = RLECompression;" (assignment_expression "local_61b8 = RLECompression" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case (uchar *)0x8:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = Group4Compression;\n            break;" case (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "iVar16 = LocaleCompare(pcVar28,"PDFA");" (assignment_expression "iVar16 = LocaleCompare(pcVar28,"PDFA")" identifier = (call_expression "LocaleCompare(pcVar28,"PDFA")" identifier (argument_list "(pcVar28,"PDFA")" ( identifier , (string_literal ""PDFA"" " string_content ") )))) ;) (if_statement "if (iVar16 == 0) goto LAB_00234e0c;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00234e0c;" goto statement_identifier ;)) (expression_statement "local_61a4 = Group4Compression;" (assignment_expression "local_61a4 = Group4Compression" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case (uchar *)0x9:\n            iVar16 = LocaleCompare(pcVar28,"PDFA");\n            if (iVar16 == 0) goto LAB_00234e0c;\n            local_61a4 = JBIG1Compression;\n            break;" case (cast_expression "(uchar *)0x9" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "iVar16 = LocaleCompare(pcVar28,"PDFA");" (assignment_expression "iVar16 = LocaleCompare(pcVar28,"PDFA")" identifier = (call_expression "LocaleCompare(pcVar28,"PDFA")" identifier (argument_list "(pcVar28,"PDFA")" ( identifier , (string_literal ""PDFA"" " string_content ") )))) ;) (if_statement "if (iVar16 == 0) goto LAB_00234e0c;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00234e0c;" goto statement_identifier ;)) (expression_statement "local_61a4 = JBIG1Compression;" (assignment_expression "local_61a4 = JBIG1Compression" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case (uchar *)0xd:\n            pcVar23 = "`%s\' (ZLIB)";\n            sVar37 = 0x614;\nLAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);\nLAB_00234e0c:\n            local_61a4 = JPEGCompression;\n            local_61b8 = RLECompression;\n            local_61a8 = (uchar *)0xc;" case (cast_expression "(uchar *)0xd" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar23 = "`%s\' (ZLIB)";" (assignment_expression "pcVar23 = "`%s\' (ZLIB)"" identifier = (string_literal ""`%s\' (ZLIB)"" " string_content escape_sequence string_content ")) ;) (expression_statement "sVar37 = 0x614;" (assignment_expression "sVar37 = 0x614" identifier = number_literal) ;) (labeled_statement "LAB_00234df2:\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);" statement_identifier : (expression_statement "ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename);" (call_expression "ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename)" identifier (argument_list "(exception,"coders/pdf.c","WritePDFImage",sVar37,MissingDelegateError,\n                       "DelegateLibrarySupportNotBuiltIn",pcVar23,((Image *)local_6224)->filename)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , identifier , identifier , (string_literal ""DelegateLibrarySupportNotBuiltIn"" " string_content ") , identifier , (field_expression "((Image *)local_6224)->filename" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) ))) ;)) (labeled_statement "LAB_00234e0c:\n            local_61a4 = JPEGCompression;" statement_identifier : (expression_statement "local_61a4 = JPEGCompression;" (assignment_expression "local_61a4 = JPEGCompression" identifier = identifier) ;)) (expression_statement "local_61b8 = RLECompression;" (assignment_expression "local_61b8 = RLECompression" identifier = identifier) ;) (expression_statement "local_61a8 = (uchar *)0xc;" (assignment_expression "local_61a8 = (uchar *)0xc" identifier = (cast_expression "(uchar *)0xc" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (expression_statement "local_61b4 = (((Image *)local_6224)->resolution).x;" (assignment_expression "local_61b4 = (((Image *)local_6224)->resolution).x" identifier = (field_expression "(((Image *)local_6224)->resolution).x" (parenthesized_expression "(((Image *)local_6224)->resolution)" ( (field_expression "((Image *)local_6224)->resolution" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "local_61cc = (((Image *)local_6224)->resolution).y;" (assignment_expression "local_61cc = (((Image *)local_6224)->resolution).y" identifier = (field_expression "(((Image *)local_6224)->resolution).y" (parenthesized_expression "(((Image *)local_6224)->resolution)" ( (field_expression "((Image *)local_6224)->resolution" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )) . field_identifier)) ;) (if_statement "if (local_61cc == 0.0) {\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }\n          else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }" if (parenthesized_expression "(local_61cc == 0.0)" ( (binary_expression "local_61cc == 0.0" identifier == number_literal) )) (compound_statement "{\nLAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }" { (labeled_statement "LAB_00234e74:\n            MVar22 = ParseGeometry("72.0x72.0",&geometry_info);" statement_identifier : (expression_statement "MVar22 = ParseGeometry("72.0x72.0",&geometry_info);" (assignment_expression "MVar22 = ParseGeometry("72.0x72.0",&geometry_info)" identifier = (call_expression "ParseGeometry("72.0x72.0",&geometry_info)" identifier (argument_list "("72.0x72.0",&geometry_info)" ( (string_literal ""72.0x72.0"" " string_content ") , (pointer_expression "&geometry_info" & identifier) )))) ;)) (expression_statement "local_61b4 = geometry_info.rho;" (assignment_expression "local_61b4 = geometry_info.rho" identifier = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) (expression_statement "local_61cc = geometry_info.rho;" (assignment_expression "local_61cc = geometry_info.rho" identifier = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) (if_statement "if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }" if (parenthesized_expression "((MVar22 & 8) != 0)" ( (binary_expression "(MVar22 & 8) != 0" (parenthesized_expression "(MVar22 & 8)" ( (binary_expression "MVar22 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              local_61cc = geometry_info.sigma;\n            }" { (expression_statement "local_61cc = geometry_info.sigma;" (assignment_expression "local_61cc = geometry_info.sigma" identifier = (field_expression "geometry_info.sigma" identifier . field_identifier)) ;) })) }) (else_clause "else {\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }" else (compound_statement "{\n            bVar41 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }\n            if (bVar41) goto LAB_00234e74;\n          }" { (expression_statement "bVar41 = local_61cc == 0.0;" (assignment_expression "bVar41 = local_61cc == 0.0" identifier = (binary_expression "local_61cc == 0.0" identifier == number_literal)) ;) (if_statement "if (local_61b4 == 0.0) {\n              bVar41 = !NAN(local_61b4);\n            }" if (parenthesized_expression "(local_61b4 == 0.0)" ( (binary_expression "local_61b4 == 0.0" identifier == number_literal) )) (compound_statement "{\n              bVar41 = !NAN(local_61b4);\n            }" { (expression_statement "bVar41 = !NAN(local_61b4);" (assignment_expression "bVar41 = !NAN(local_61b4)" identifier = (unary_expression "!NAN(local_61b4)" ! (call_expression "NAN(local_61b4)" identifier (argument_list "(local_61b4)" ( identifier ))))) ;) })) (if_statement "if (bVar41) goto LAB_00234e74;" if (parenthesized_expression "(bVar41)" ( identifier )) (goto_statement "goto LAB_00234e74;" goto statement_identifier ;)) }))) (if_statement "if (image_info->density != (char *)0x0) {\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }" if (parenthesized_expression "(image_info->density != (char *)0x0)" ( (binary_expression "image_info->density != (char *)0x0" (field_expression "image_info->density" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            MVar22 = ParseGeometry(image_info->density,&geometry_info);\n            local_61b4 = geometry_info.rho;\n            local_61cc = geometry_info.rho;\n            if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }\n          }" { (expression_statement "MVar22 = ParseGeometry(image_info->density,&geometry_info);" (assignment_expression "MVar22 = ParseGeometry(image_info->density,&geometry_info)" identifier = (call_expression "ParseGeometry(image_info->density,&geometry_info)" identifier (argument_list "(image_info->density,&geometry_info)" ( (field_expression "image_info->density" identifier -> field_identifier) , (pointer_expression "&geometry_info" & identifier) )))) ;) (expression_statement "local_61b4 = geometry_info.rho;" (assignment_expression "local_61b4 = geometry_info.rho" identifier = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) (expression_statement "local_61cc = geometry_info.rho;" (assignment_expression "local_61cc = geometry_info.rho" identifier = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) (if_statement "if ((MVar22 & 8) != 0) {\n              local_61cc = geometry_info.sigma;\n            }" if (parenthesized_expression "((MVar22 & 8) != 0)" ( (binary_expression "(MVar22 & 8) != 0" (parenthesized_expression "(MVar22 & 8)" ( (binary_expression "MVar22 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              local_61cc = geometry_info.sigma;\n            }" { (expression_statement "local_61cc = geometry_info.sigma;" (assignment_expression "local_61cc = geometry_info.sigma" identifier = (field_expression "geometry_info.sigma" identifier . field_identifier)) ;) })) })) (if_statement "if (((Image *)local_6224)->units == PixelsPerCentimeterResolution) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }" if (parenthesized_expression "(((Image *)local_6224)->units == PixelsPerCentimeterResolution)" ( (binary_expression "((Image *)local_6224)->units == PixelsPerCentimeterResolution" (field_expression "((Image *)local_6224)->units" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) == identifier) )) (compound_statement "{\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }" { (expression_statement "local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);" (assignment_expression "local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" identifier = (cast_expression "(double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" ( (binary_expression "(float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c" (cast_expression "(float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff)" ( (binary_expression "(longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff" (cast_expression "(longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124)" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124)" identifier (argument_list "((float)local_61b4 * DAT_002b7d18 + DAT_0029f124)" ( (binary_expression "(float)local_61b4 * DAT_002b7d18 + DAT_0029f124" (binary_expression "(float)local_61b4 * DAT_002b7d18" (cast_expression "(float)local_61b4" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) + identifier) )))) & number_literal) ))) / identifier) )))) ;) (expression_statement "local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);" (assignment_expression "local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" identifier = (cast_expression "(double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" ( (binary_expression "(float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c" (cast_expression "(float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff)" ( (binary_expression "(longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff" (cast_expression "(longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124)" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124)" identifier (argument_list "(DAT_002b7d18 * (float)local_61cc + DAT_0029f124)" ( (binary_expression "DAT_002b7d18 * (float)local_61cc + DAT_0029f124" (binary_expression "DAT_002b7d18 * (float)local_61cc" identifier * (cast_expression "(float)local_61cc" ( (type_descriptor "float" primitive_type) ) identifier)) + identifier) )))) & number_literal) ))) / identifier) )))) ;) })) (expression_statement "SetGeometry((Image *)local_6224,&geometry);" (call_expression "SetGeometry((Image *)local_6224,&geometry)" identifier (argument_list "((Image *)local_6224,&geometry)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&geometry" & identifier) ))) ;) (expression_statement "FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20));" (call_expression "FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20))" identifier (argument_list "(page_geometry,0x1000,"%.20gx%.20g",\n                             SUB84((double)((Image *)local_6224)->columns,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20),\n                             SUB84((double)((Image *)local_6224)->rows,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20))" ( identifier , number_literal , (string_literal ""%.20gx%.20g"" " string_content ") , (call_expression "SUB84((double)((Image *)local_6224)->columns,0)" identifier (argument_list "((double)((Image *)local_6224)->columns,0)" ( (cast_expression "(double)((Image *)local_6224)->columns" ( (type_descriptor "double" primitive_type) ) (field_expression "((Image *)local_6224)->columns" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)((Image *)local_6224)->columns >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)((Image *)local_6224)->columns >> 0x20)" ( (binary_expression "(ulonglong)(double)((Image *)local_6224)->columns >> 0x20" (field_expression "(ulonglong)(double)((Image *)local_6224)->columns" (call_expression "(ulonglong)(double)((Image *)local_6224)" (call_expression "(ulonglong)(double)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(double)" ( identifier ))) (argument_list "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) -> field_identifier) >> number_literal) ))) , (call_expression "SUB84((double)((Image *)local_6224)->rows,0)" identifier (argument_list "((double)((Image *)local_6224)->rows,0)" ( (cast_expression "(double)((Image *)local_6224)->rows" ( (type_descriptor "double" primitive_type) ) (field_expression "((Image *)local_6224)->rows" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)((Image *)local_6224)->rows >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)((Image *)local_6224)->rows >> 0x20)" ( (binary_expression "(ulonglong)(double)((Image *)local_6224)->rows >> 0x20" (field_expression "(ulonglong)(double)((Image *)local_6224)->rows" (call_expression "(ulonglong)(double)((Image *)local_6224)" (call_expression "(ulonglong)(double)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(double)" ( identifier ))) (argument_list "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) -> field_identifier) >> number_literal) ))) ))) ;) (if_statement "if (image_info->page == (char *)0x0) {\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }\n          else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }" if (parenthesized_expression "(image_info->page == (char *)0x0)" ( (binary_expression "image_info->page == (char *)0x0" (field_expression "image_info->page" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar18 = (((Image *)local_6224)->page).width;\n            if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }\n          }" { (expression_statement "uVar18 = (((Image *)local_6224)->page).width;" (assignment_expression "uVar18 = (((Image *)local_6224)->page).width" identifier = (field_expression "(((Image *)local_6224)->page).width" (parenthesized_expression "(((Image *)local_6224)->page)" ( (field_expression "((Image *)local_6224)->page" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)) {\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }\n            else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }" if (parenthesized_expression "((uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0))" ( (binary_expression "(uVar18 == 0) || (uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)" (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0)" ( (comma_expression "uVar27 = (((Image *)local_6224)->page).height, uVar27 == 0" (assignment_expression "uVar27 = (((Image *)local_6224)->page).height" identifier = (field_expression "(((Image *)local_6224)->page).height" (parenthesized_expression "(((Image *)local_6224)->page)" ( (field_expression "((Image *)local_6224)->page" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )) . field_identifier)) , (binary_expression "uVar27 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }\n            }" { (if_statement "if ((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)) {\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }" if (parenthesized_expression "((((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0))" ( (binary_expression "(((Image *)local_6224)->gravity != ForgetGravity) &&\n                 (iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)" (parenthesized_expression "(((Image *)local_6224)->gravity != ForgetGravity)" ( (binary_expression "((Image *)local_6224)->gravity != ForgetGravity" (field_expression "((Image *)local_6224)->gravity" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) != identifier) )) && (parenthesized_expression "(iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0)" ( (comma_expression "iVar16 = LocaleCompare(pcVar28,"PDF"), iVar16 == 0" (assignment_expression "iVar16 = LocaleCompare(pcVar28,"PDF")" identifier = (call_expression "LocaleCompare(pcVar28,"PDF")" identifier (argument_list "(pcVar28,"PDF")" ( identifier , (string_literal ""PDF"" " string_content ") )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                CopyMagickString(page_geometry,"612x792",0x1000);\n              }" { (expression_statement "CopyMagickString(page_geometry,"612x792",0x1000);" (call_expression "CopyMagickString(page_geometry,"612x792",0x1000)" identifier (argument_list "(page_geometry,"612x792",0x1000)" ( identifier , (string_literal ""612x792"" " string_content ") , number_literal ))) ;) })) }) (else_clause "else {\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }" else (compound_statement "{\n              dVar1 = (double)(((Image *)local_6224)->page).y;\n              dVar49 = (double)(((Image *)local_6224)->page).x;\n              dVar5 = (double)uVar27;\n              FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));\n            }" { (expression_statement "dVar1 = (double)(((Image *)local_6224)->page).y;" (assignment_expression "dVar1 = (double)(((Image *)local_6224)->page).y" identifier = (cast_expression "(double)(((Image *)local_6224)->page).y" ( (type_descriptor "double" primitive_type) ) (field_expression "(((Image *)local_6224)->page).y" (parenthesized_expression "(((Image *)local_6224)->page)" ( (field_expression "((Image *)local_6224)->page" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )) . field_identifier))) ;) (expression_statement "dVar49 = (double)(((Image *)local_6224)->page).x;" (assignment_expression "dVar49 = (double)(((Image *)local_6224)->page).x" identifier = (cast_expression "(double)(((Image *)local_6224)->page).x" ( (type_descriptor "double" primitive_type) ) (field_expression "(((Image *)local_6224)->page).x" (parenthesized_expression "(((Image *)local_6224)->page)" ( (field_expression "((Image *)local_6224)->page" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )) . field_identifier))) ;) (expression_statement "dVar5 = (double)uVar27;" (assignment_expression "dVar5 = (double)uVar27" identifier = (cast_expression "(double)uVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20));" (call_expression "FormatLocaleString(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20))" identifier (argument_list "(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)uVar18,\n                                 SUB84(dVar5,0),(int)((ulonglong)dVar5 >> 0x20),SUB84(dVar49,0),\n                                 (int)((ulonglong)dVar49 >> 0x20),SUB84(dVar1,0),\n                                 (int)((ulonglong)dVar1 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20gx%.20g%+.20g%+.20g"" " string_content ") , (cast_expression "(double)uVar18" ( (type_descriptor "double" primitive_type) ) identifier) , (call_expression "SUB84(dVar5,0)" identifier (argument_list "(dVar5,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar5 >> 0x20)" ( (binary_expression "(ulonglong)dVar5 >> 0x20" (cast_expression "(ulonglong)dVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar49,0)" identifier (argument_list "(dVar49,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar49 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar49 >> 0x20)" ( (binary_expression "(ulonglong)dVar49 >> 0x20" (cast_expression "(ulonglong)dVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar1,0)" identifier (argument_list "(dVar1,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar1 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar1 >> 0x20)" ( (binary_expression "(ulonglong)dVar1 >> 0x20" (cast_expression "(ulonglong)dVar1" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) }))) }) (else_clause "else {\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }" else (compound_statement "{\n            CopyMagickString(page_geometry,image_info->page,0x1000);\n          }" { (expression_statement "CopyMagickString(page_geometry,image_info->page,0x1000);" (call_expression "CopyMagickString(page_geometry,image_info->page,0x1000)" identifier (argument_list "(page_geometry,image_info->page,0x1000)" ( identifier , (field_expression "image_info->page" identifier -> field_identifier) , number_literal ))) ;) }))) (expression_statement "ConcatenateMagickString(page_geometry,">",0x1000);" (call_expression "ConcatenateMagickString(page_geometry,">",0x1000)" identifier (argument_list "(page_geometry,">",0x1000)" ( identifier , (string_literal "">"" " string_content ") , number_literal ))) ;) (expression_statement "ParseMetaGeometry(page_geometry,x,y,&geometry.width,height);" (call_expression "ParseMetaGeometry(page_geometry,x,y,&geometry.width,height)" identifier (argument_list "(page_geometry,x,y,&geometry.width,height)" ( identifier , identifier , identifier , (pointer_expression "&geometry.width" & (field_expression "geometry.width" identifier . field_identifier)) , identifier ))) ;) (expression_statement "fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4;" (assignment_expression "fVar10 = ((float)geometry.width * DAT_0029f120) / (float)local_61b4" identifier = (binary_expression "((float)geometry.width * DAT_0029f120) / (float)local_61b4" (parenthesized_expression "((float)geometry.width * DAT_0029f120)" ( (binary_expression "(float)geometry.width * DAT_0029f120" (cast_expression "(float)geometry.width" ( (type_descriptor "float" primitive_type) ) (field_expression "geometry.width" identifier . field_identifier)) * identifier) )) / (cast_expression "(float)local_61b4" ( (type_descriptor "float" primitive_type) ) identifier))) ;) (expression_statement "dVar1 = (double)fVar10;" (assignment_expression "dVar1 = (double)fVar10" identifier = (cast_expression "(double)fVar10" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));" (assignment_expression "local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124))" identifier = (cast_expression "(size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124))" ( (type_descriptor "size_t" primitive_type) ) (cast_expression "(longlong)ROUND(ROUND(fVar10 + DAT_0029f124))" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(ROUND(fVar10 + DAT_0029f124))" identifier (argument_list "(ROUND(fVar10 + DAT_0029f124))" ( (call_expression "ROUND(fVar10 + DAT_0029f124)" identifier (argument_list "(fVar10 + DAT_0029f124)" ( (binary_expression "fVar10 + DAT_0029f124" identifier + identifier) ))) )))))) ;) (expression_statement "geometry.width = local_60cc;" (assignment_expression "geometry.width = local_60cc" (field_expression "geometry.width" identifier . field_identifier) = identifier) ;) (expression_statement "fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc;" (assignment_expression "fVar10 = ((float)geometry.height * DAT_0029f120) / (float)local_61cc" identifier = (binary_expression "((float)geometry.height * DAT_0029f120) / (float)local_61cc" (parenthesized_expression "((float)geometry.height * DAT_0029f120)" ( (binary_expression "(float)geometry.height * DAT_0029f120" (cast_expression "(float)geometry.height" ( (type_descriptor "float" primitive_type) ) (field_expression "geometry.height" identifier . field_identifier)) * identifier) )) / (cast_expression "(float)local_61cc" ( (type_descriptor "float" primitive_type) ) identifier))) ;) (expression_statement "dVar49 = (double)fVar10;" (assignment_expression "dVar49 = (double)fVar10" identifier = (cast_expression "(double)fVar10" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "seconds = CONCAT22(seconds._2_2_,in_FPUControlWord);" (assignment_expression "seconds = CONCAT22(seconds._2_2_,in_FPUControlWord)" identifier = (call_expression "CONCAT22(seconds._2_2_,in_FPUControlWord)" identifier (argument_list "(seconds._2_2_,in_FPUControlWord)" ( (field_expression "seconds._2_2_" identifier . field_identifier) , identifier )))) ;) (expression_statement "utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;" (assignment_expression "utc_time.tm_sec =\n               CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400" (field_expression "utc_time.tm_sec" identifier . field_identifier) = (binary_expression "CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400" (binary_expression "CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff" (call_expression "CONCAT22((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord)" identifier (argument_list "((short)((uint)utc_time.tm_sec >> 0x10),in_FPUControlWord)" ( (cast_expression "(short)((uint)utc_time.tm_sec >> 0x10)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "((uint)utc_time.tm_sec >> 0x10)" ( (binary_expression "(uint)utc_time.tm_sec >> 0x10" (cast_expression "(uint)utc_time.tm_sec" ( (type_descriptor "uint" type_identifier) ) (field_expression "utc_time.tm_sec" identifier . field_identifier)) >> number_literal) ))) , identifier ))) & number_literal) | number_literal)) ;) (expression_statement "local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124));" (assignment_expression "local_60cc = (size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124))" identifier = (cast_expression "(size_t)(longlong)ROUND(ROUND(fVar10 + DAT_0029f124))" ( (type_descriptor "size_t" primitive_type) ) (cast_expression "(longlong)ROUND(ROUND(fVar10 + DAT_0029f124))" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(ROUND(fVar10 + DAT_0029f124))" identifier (argument_list "(ROUND(fVar10 + DAT_0029f124))" ( (call_expression "ROUND(fVar10 + DAT_0029f124)" identifier (argument_list "(fVar10 + DAT_0029f124)" ( (binary_expression "fVar10 + DAT_0029f124" identifier + identifier) ))) )))))) ;) (expression_statement "geometry.height = local_60cc;" (assignment_expression "geometry.height = local_60cc" (field_expression "geometry.height" identifier . field_identifier) = identifier) ;) (expression_statement "ParseAbsoluteGeometry(page_geometry,&media_info);" (call_expression "ParseAbsoluteGeometry(page_geometry,&media_info)" identifier (argument_list "(page_geometry,&media_info)" ( identifier , (pointer_expression "&media_info" & identifier) ))) ;) (expression_statement "ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception);" (call_expression "ParseGravityGeometry((Image *)local_6224,page_geometry,&page_info,exception)" identifier (argument_list "((Image *)local_6224,page_geometry,&page_info,exception)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (pointer_expression "&page_info" & identifier) , identifier ))) ;) (if_statement "if (((Image *)local_6224)->gravity != ForgetGravity) {\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }" if (parenthesized_expression "(((Image *)local_6224)->gravity != ForgetGravity)" ( (binary_expression "((Image *)local_6224)->gravity != ForgetGravity" (field_expression "((Image *)local_6224)->gravity" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) != identifier) )) (compound_statement "{\n            geometry.x = -page_info.x;\n            geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;\n          }" { (expression_statement "geometry.x = -page_info.x;" (assignment_expression "geometry.x = -page_info.x" (field_expression "geometry.x" identifier . field_identifier) = (unary_expression "-page_info.x" - (field_expression "page_info.x" identifier . field_identifier))) ;) (expression_statement "geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows;" (assignment_expression "geometry.y = (page_info.y + media_info.height) - ((Image *)local_6224)->rows" (field_expression "geometry.y" identifier . field_identifier) = (binary_expression "(page_info.y + media_info.height) - ((Image *)local_6224)->rows" (parenthesized_expression "(page_info.y + media_info.height)" ( (binary_expression "page_info.y + media_info.height" (field_expression "page_info.y" identifier . field_identifier) + (field_expression "media_info.height" identifier . field_identifier)) )) - (field_expression "((Image *)local_6224)->rows" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) })) (expression_statement "local_61e4 = image_info->pointsize;" (assignment_expression "local_61e4 = image_info->pointsize" identifier = (field_expression "image_info->pointsize" identifier -> field_identifier)) ;) (if_statement "if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }" if (parenthesized_expression "(local_61e4 == 0.0)" ( (binary_expression "local_61e4 == 0.0" identifier == number_literal) )) (compound_statement "{\n            local_61e4 = (double)DAT_002b1d90;\n          }" { (expression_statement "local_61e4 = (double)DAT_002b1d90;" (assignment_expression "local_61e4 = (double)DAT_002b1d90" identifier = (cast_expression "(double)DAT_002b1d90" ( (type_descriptor "double" primitive_type) ) identifier)) ;) })) (expression_statement "GetImageProperty((Image *)local_6224,"label",exception);" (call_expression "GetImageProperty((Image *)local_6224,"label",exception)" identifier (argument_list "((Image *)local_6224,"label",exception)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""label"" " string_content ") , identifier ))) ;) (expression_statement "MVar42 = TellBlob((Image *)local_6224);" (assignment_expression "MVar42 = TellBlob((Image *)local_6224)" identifier = (call_expression "TellBlob((Image *)local_6224)" identifier (argument_list "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "dVar5 = (double)((uint)local_61f4 + 1);" (assignment_expression "dVar5 = (double)((uint)local_61f4 + 1)" identifier = (cast_expression "(double)((uint)local_61f4 + 1)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uint)local_61f4 + 1)" ( (binary_expression "(uint)local_61f4 + 1" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2)" * (cast_expression "(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + (uint)local_61f4 * 2)" ( (binary_expression "local_6200 + (uint)local_61f4 * 2" identifier + (binary_expression "(uint)local_61f4 * 2" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) )))) = identifier) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar5,0)" identifier (argument_list "(dVar5,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar5 >> 0x20)" ( (binary_expression "(ulonglong)dVar5 >> 0x20" (cast_expression "(ulonglong)dVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"<<\n");" (call_expression "WriteBlobString((Image *)local_6224,"<<\n")" identifier (argument_list "((Image *)local_6224,"<<\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"/Type /Page\n");" (call_expression "WriteBlobString((Image *)local_6224,"/Type /Page\n")" identifier (argument_list "((Image *)local_6224,"/Type /Page\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""/Type /Page\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46);" (call_expression "FormatLocaleString(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46)" identifier (argument_list "(buffer,0x1000,"/Parent %.20g 0 R\n",SUB84(dVar45,0),uVar46)" ( identifier , number_literal , (string_literal ""/Parent %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar45,0)" identifier (argument_list "(dVar45,0)" ( identifier , number_literal ))) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"/Resources <<\n");" (call_expression "WriteBlobString((Image *)local_6224,"/Resources <<\n")" identifier (argument_list "((Image *)local_6224,"/Resources <<\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""/Resources <<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "memory = (char **)0x0;" (assignment_expression "memory = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pcVar23 = GetImageProperty((Image *)local_6224,"label",exception);" (assignment_expression "pcVar23 = GetImageProperty((Image *)local_6224,"label",exception)" identifier = (call_expression "GetImageProperty((Image *)local_6224,"label",exception)" identifier (argument_list "((Image *)local_6224,"label",exception)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""label"" " string_content ") , identifier )))) ;) (if_statement "if ((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))\n          {\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }" if (parenthesized_expression "((pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0))" ( (binary_expression "(pcVar23 != (char *)0x0) && (memory = StringToList(pcVar23), memory != (char **)0x0)" (parenthesized_expression "(pcVar23 != (char *)0x0)" ( (binary_expression "pcVar23 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(memory = StringToList(pcVar23), memory != (char **)0x0)" ( (comma_expression "memory = StringToList(pcVar23), memory != (char **)0x0" (assignment_expression "memory = StringToList(pcVar23)" identifier = (call_expression "StringToList(pcVar23)" identifier (argument_list "(pcVar23)" ( identifier )))) , (binary_expression "memory != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (compound_statement "{\n            FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));\n            WriteBlobString((Image *)local_6224,buffer);\n          }" { (expression_statement "FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",\n                               SUB84((double)((Image *)local_6224)->scene,0),\n                               (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                               SUB84(dVar5 + (double)DAT_002a9b80,0),\n                               (int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20))" ( identifier , number_literal , (string_literal ""/Font << /F%.20g %.20g 0 R >>\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)((Image *)local_6224)->scene,0)" identifier (argument_list "((double)((Image *)local_6224)->scene,0)" ( (cast_expression "(double)((Image *)local_6224)->scene" ( (type_descriptor "double" primitive_type) ) (field_expression "((Image *)local_6224)->scene" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)((Image *)local_6224)->scene >> 0x20)" ( (binary_expression "(ulonglong)(double)((Image *)local_6224)->scene >> 0x20" (field_expression "(ulonglong)(double)((Image *)local_6224)->scene" (call_expression "(ulonglong)(double)((Image *)local_6224)" (call_expression "(ulonglong)(double)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(double)" ( identifier ))) (argument_list "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) -> field_identifier) >> number_literal) ))) , (call_expression "SUB84(dVar5 + (double)DAT_002a9b80,0)" identifier (argument_list "(dVar5 + (double)DAT_002a9b80,0)" ( (binary_expression "dVar5 + (double)DAT_002a9b80" identifier + (cast_expression "(double)DAT_002a9b80" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20)" ( (binary_expression "(ulonglong)(dVar5 + (double)DAT_002a9b80) >> 0x20" (call_expression "(ulonglong)(dVar5 + (double)DAT_002a9b80)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar5 + (double)DAT_002a9b80)" ( (binary_expression "dVar5 + (double)DAT_002a9b80" identifier + (cast_expression "(double)DAT_002a9b80" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) })) (expression_statement "FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",\n                             SUB84((double)((Image *)local_6224)->scene,0),\n                             (int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20),\n                             SUB84(dVar5 + (double)DAT_002a9bb0,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20))" ( identifier , number_literal , (string_literal ""/XObject << /Im%.20g %.20g 0 R >>\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)((Image *)local_6224)->scene,0)" identifier (argument_list "((double)((Image *)local_6224)->scene,0)" ( (cast_expression "(double)((Image *)local_6224)->scene" ( (type_descriptor "double" primitive_type) ) (field_expression "((Image *)local_6224)->scene" (parenthesized_expression "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)((Image *)local_6224)->scene >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)((Image *)local_6224)->scene >> 0x20)" ( (binary_expression "(ulonglong)(double)((Image *)local_6224)->scene >> 0x20" (field_expression "(ulonglong)(double)((Image *)local_6224)->scene" (call_expression "(ulonglong)(double)((Image *)local_6224)" (call_expression "(ulonglong)(double)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(double)" ( identifier ))) (argument_list "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) -> field_identifier) >> number_literal) ))) , (call_expression "SUB84(dVar5 + (double)DAT_002a9bb0,0)" identifier (argument_list "(dVar5 + (double)DAT_002a9bb0,0)" ( (binary_expression "dVar5 + (double)DAT_002a9bb0" identifier + (cast_expression "(double)DAT_002a9bb0" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20)" ( (binary_expression "(ulonglong)(dVar5 + (double)DAT_002a9bb0) >> 0x20" (call_expression "(ulonglong)(dVar5 + (double)DAT_002a9bb0)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar5 + (double)DAT_002a9bb0)" ( (binary_expression "dVar5 + (double)DAT_002a9bb0" identifier + (cast_expression "(double)DAT_002a9bb0" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",\n                             SUB84(dVar5 + (double)DAT_002a9b78,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20))" ( identifier , number_literal , (string_literal ""/ProcSet %.20g 0 R >>\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar5 + (double)DAT_002a9b78,0)" identifier (argument_list "(dVar5 + (double)DAT_002a9b78,0)" ( (binary_expression "dVar5 + (double)DAT_002a9b78" identifier + (cast_expression "(double)DAT_002a9b78" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20)" ( (binary_expression "(ulonglong)(dVar5 + (double)DAT_002a9b78) >> 0x20" (call_expression "(ulonglong)(dVar5 + (double)DAT_002a9b78)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar5 + (double)DAT_002a9b78)" ( (binary_expression "dVar5 + (double)DAT_002a9b78" identifier + (cast_expression "(double)DAT_002a9b78" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc);" (assignment_expression "dVar2 = (double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc)" identifier = (cast_expression "(double)(((float)media_info.height * DAT_0029f120) / (float)local_61cc)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)media_info.height * DAT_0029f120) / (float)local_61cc)" ( (binary_expression "((float)media_info.height * DAT_0029f120) / (float)local_61cc" (parenthesized_expression "((float)media_info.height * DAT_0029f120)" ( (binary_expression "(float)media_info.height * DAT_0029f120" (cast_expression "(float)media_info.height" ( (type_descriptor "float" primitive_type) ) (field_expression "media_info.height" identifier . field_identifier)) * identifier) )) / (cast_expression "(float)local_61cc" ( (type_descriptor "float" primitive_type) ) identifier)) )))) ;) (expression_statement "dVar3 = (double)DAT_0029f120;" (assignment_expression "dVar3 = (double)DAT_0029f120" identifier = (cast_expression "(double)DAT_0029f120" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4);" (assignment_expression "dVar4 = (double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4)" identifier = (cast_expression "(double)(((float)media_info.width * DAT_0029f120) / (float)local_61b4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(((float)media_info.width * DAT_0029f120) / (float)local_61b4)" ( (binary_expression "((float)media_info.width * DAT_0029f120) / (float)local_61b4" (parenthesized_expression "((float)media_info.width * DAT_0029f120)" ( (binary_expression "(float)media_info.width * DAT_0029f120" (cast_expression "(float)media_info.width" ( (type_descriptor "float" primitive_type) ) (field_expression "media_info.width" identifier . field_identifier)) * identifier) )) / (cast_expression "(float)local_61b4" ( (type_descriptor "float" primitive_type) ) identifier)) )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20))" identifier (argument_list "(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",SUB84(dVar4,0),\n                             (int)((ulonglong)dVar4 >> 0x20),SUB84(dVar2,0),\n                             (int)((ulonglong)dVar2 >> 0x20))" ( identifier , number_literal , (string_literal ""/MediaBox [0 0 %g %g]\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar4,0)" identifier (argument_list "(dVar4,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar4 >> 0x20)" ( (binary_expression "(ulonglong)dVar4 >> 0x20" (cast_expression "(ulonglong)dVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar2,0)" identifier (argument_list "(dVar2,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar2 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar2 >> 0x20)" ( (binary_expression "(ulonglong)dVar2 >> 0x20" (cast_expression "(ulonglong)dVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "dVar2 = ((double)media_info.height * dVar3) / local_61cc;" (assignment_expression "dVar2 = ((double)media_info.height * dVar3) / local_61cc" identifier = (binary_expression "((double)media_info.height * dVar3) / local_61cc" (parenthesized_expression "((double)media_info.height * dVar3)" ( (binary_expression "(double)media_info.height * dVar3" (cast_expression "(double)media_info.height" ( (type_descriptor "double" primitive_type) ) (field_expression "media_info.height" identifier . field_identifier)) * identifier) )) / identifier)) ;) (expression_statement "local_61cc = (double)(ulonglong)media_info.width;" (assignment_expression "local_61cc = (double)(ulonglong)media_info.width" identifier = (cast_expression "(double)(ulonglong)media_info.width" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)media_info.width" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "media_info.width" identifier . field_identifier)))) ;) (expression_statement "uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20);" (assignment_expression "uVar48 = (undefined4)((ulonglong)dVar2 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)dVar2 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)dVar2 >> 0x20)" ( (binary_expression "(ulonglong)dVar2 >> 0x20" (cast_expression "(ulonglong)dVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4;" (assignment_expression "local_61b4 = ((double)(longlong)local_61cc * dVar3) / local_61b4" identifier = (binary_expression "((double)(longlong)local_61cc * dVar3) / local_61b4" (parenthesized_expression "((double)(longlong)local_61cc * dVar3)" ( (binary_expression "(double)(longlong)local_61cc * dVar3" (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier)) * identifier) )) / identifier)) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48);" (call_expression "FormatLocaleString(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48)" identifier (argument_list "(buffer,0x1000,"/CropBox [0 0 %g %g]\n",SUB84(local_61b4,0),\n                             (int)((ulonglong)local_61b4 >> 0x20),SUB84(dVar2,0),uVar48)" ( identifier , number_literal , (string_literal ""/CropBox [0 0 %g %g]\n"" " string_content escape_sequence ") , (call_expression "SUB84(local_61b4,0)" identifier (argument_list "(local_61b4,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)local_61b4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)local_61b4 >> 0x20)" ( (binary_expression "(ulonglong)local_61b4 >> 0x20" (cast_expression "(ulonglong)local_61b4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar2,0)" identifier (argument_list "(dVar2,0)" ( identifier , number_literal ))) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Contents %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20))" ( identifier , number_literal , (string_literal ""/Contents %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar5 + (double)DAT_0029f718,0)" identifier (argument_list "(dVar5 + (double)DAT_0029f718,0)" ( (binary_expression "dVar5 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20)" ( (binary_expression "(ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20" (call_expression "(ulonglong)(dVar5 + (double)DAT_0029f718)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar5 + (double)DAT_0029f718)" ( (binary_expression "dVar5 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "pcVar23 = buffer;" (assignment_expression "pcVar23 = buffer" identifier = identifier) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "fVar10 = DAT_002a9ba8;" (assignment_expression "fVar10 = DAT_002a9ba8" identifier = identifier) ;) (if_statement "if (pSVar17 != (StringInfo *)0x0) {\n            fVar10 = DAT_002aa50c;\n          }" if (parenthesized_expression "(pSVar17 != (StringInfo *)0x0)" ( (binary_expression "pSVar17 != (StringInfo *)0x0" identifier != (cast_expression "(StringInfo *)0x0" ( (type_descriptor "StringInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            fVar10 = DAT_002aa50c;\n          }" { (expression_statement "fVar10 = DAT_002aa50c;" (assignment_expression "fVar10 = DAT_002aa50c" identifier = identifier) ;) })) (expression_statement "dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1));" (assignment_expression "dVar5 = (double)(fVar10 + (float)((uint)local_61f4 + 1))" identifier = (cast_expression "(double)(fVar10 + (float)((uint)local_61f4 + 1))" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(fVar10 + (float)((uint)local_61f4 + 1))" ( (binary_expression "fVar10 + (float)((uint)local_61f4 + 1)" identifier + (cast_expression "(float)((uint)local_61f4 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((uint)local_61f4 + 1)" ( (binary_expression "(uint)local_61f4 + 1" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) )))) )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48);" (call_expression "FormatLocaleString(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48)" identifier (argument_list "(buffer,0x1000,"/Thumb %.20g 0 R\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20),pcVar23,uVar48)" ( identifier , number_literal , (string_literal ""/Thumb %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar5,0)" identifier (argument_list "(dVar5,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar5 >> 0x20)" ( (binary_expression "(ulonglong)dVar5 >> 0x20" (cast_expression "(ulonglong)dVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , identifier , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,">>\n");" (call_expression "WriteBlobString((Image *)local_6224,">>\n")" identifier (argument_list "((Image *)local_6224,">>\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"endobj\n");" (call_expression "WriteBlobString((Image *)local_6224,"endobj\n")" identifier (argument_list "((Image *)local_6224,"endobj\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob((Image *)local_6224);" (assignment_expression "MVar42 = TellBlob((Image *)local_6224)" identifier = (call_expression "TellBlob((Image *)local_6224)" identifier (argument_list "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2)" * (cast_expression "(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 2)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + (uint)local_61f4 * 2 + 2)" ( (binary_expression "local_6200 + (uint)local_61f4 * 2 + 2" (binary_expression "local_6200 + (uint)local_61f4 * 2" identifier + (binary_expression "(uint)local_61f4 * 2" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "local_61cc = (double)(ulonglong)((uint)local_61f4 + 2);" (assignment_expression "local_61cc = (double)(ulonglong)((uint)local_61f4 + 2)" identifier = (cast_expression "(double)(ulonglong)((uint)local_61f4 + 2)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ulonglong)((uint)local_61f4 + 2)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((uint)local_61f4 + 2)" ( (binary_expression "(uint)local_61f4 + 2" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar5 = (double)(longlong)local_61cc;" (assignment_expression "dVar5 = (double)(longlong)local_61cc" identifier = (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar5,0),\n                             (int)((ulonglong)dVar5 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar5,0)" identifier (argument_list "(dVar5,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar5 >> 0x20)" ( (binary_expression "(ulonglong)dVar5 >> 0x20" (cast_expression "(ulonglong)dVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"<<\n");" (call_expression "WriteBlobString((Image *)local_6224,"<<\n")" identifier (argument_list "((Image *)local_6224,"<<\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar5 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20))" ( identifier , number_literal , (string_literal ""/Length %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar5 + (double)DAT_0029f718,0)" identifier (argument_list "(dVar5 + (double)DAT_0029f718,0)" ( (binary_expression "dVar5 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20)" ( (binary_expression "(ulonglong)(dVar5 + (double)DAT_0029f718) >> 0x20" (call_expression "(ulonglong)(dVar5 + (double)DAT_0029f718)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar5 + (double)DAT_0029f718)" ( (binary_expression "dVar5 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,">>\n");" (call_expression "WriteBlobString((Image *)local_6224,">>\n")" identifier (argument_list "((Image *)local_6224,">>\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"stream\n");" (call_expression "WriteBlobString((Image *)local_6224,"stream\n")" identifier (argument_list "((Image *)local_6224,"stream\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob((Image *)local_6224);" (assignment_expression "MVar42 = TellBlob((Image *)local_6224)" identifier = (call_expression "TellBlob((Image *)local_6224)" identifier (argument_list "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"q\n");" (call_expression "WriteBlobString((Image *)local_6224,"q\n")" identifier (argument_list "((Image *)local_6224,"q\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""q\n"" " string_content escape_sequence ") ))) ;) (if_statement "if ((memory != (char **)0x0) && (*memory != (char *)0x0)) {\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }" if (parenthesized_expression "((memory != (char **)0x0) && (*memory != (char *)0x0))" ( (binary_expression "(memory != (char **)0x0) && (*memory != (char *)0x0)" (parenthesized_expression "(memory != (char **)0x0)" ( (binary_expression "memory != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(*memory != (char *)0x0)" ( (binary_expression "*memory != (char *)0x0" (pointer_expression "*memory" * identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            iVar16 = 0;\n            do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);\n          }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            } while (memory[iVar16] != (char *)0x0);" do (compound_statement "{\n              WriteBlobString((Image *)local_6224,"BT\n");\n              local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;\n              FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);\n              WriteBlobString((Image *)local_6224,buffer);\n              local_61cc = (double)(ulonglong)(geometry.height + geometry.y);\n              dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;\n              FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));\n              WriteBlobString((Image *)local_6224,buffer);\n              FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);\n              WriteBlobString((Image *)local_6224,buffer);\n              WriteBlobString((Image *)local_6224,"ET\n");\n              pcVar23 = DestroyString(memory[iVar16]);\n              memory[iVar16] = pcVar23;\n              iVar16 = iVar16 + 1;\n            }" { (expression_statement "WriteBlobString((Image *)local_6224,"BT\n");" (call_expression "WriteBlobString((Image *)local_6224,"BT\n")" identifier (argument_list "((Image *)local_6224,"BT\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""BT\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_61cc = (double)(ulonglong)((Image *)local_6224)->scene;" (assignment_expression "local_61cc = (double)(ulonglong)((Image *)local_6224)->scene" identifier = (cast_expression "(double)(ulonglong)((Image *)local_6224)->scene" ( (type_descriptor "double" primitive_type) ) (field_expression "(ulonglong)((Image *)local_6224)->scene" (call_expression "(ulonglong)((Image *)local_6224)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) -> field_identifier))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_);" (call_expression "FormatLocaleString(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_)" identifier (argument_list "(buffer,0x1000,"/F%.20g %g Tf\n",\n                                 SUB84((double)(longlong)local_61cc,0),\n                                 (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                                 (uint)local_61e4,local_61e4._4_4_)" ( identifier , number_literal , (string_literal ""/F%.20g %g Tf\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_61cc,0)" identifier (argument_list "((double)(longlong)local_61cc,0)" ( (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61cc >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61cc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) , (cast_expression "(uint)local_61e4" ( (type_descriptor "uint" type_identifier) ) identifier) , (field_expression "local_61e4._4_4_" identifier . field_identifier) ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "local_61cc = (double)(ulonglong)(geometry.height + geometry.y);" (assignment_expression "local_61cc = (double)(ulonglong)(geometry.height + geometry.y)" identifier = (cast_expression "(double)(ulonglong)(geometry.height + geometry.y)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ulonglong)(geometry.height + geometry.y)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(geometry.height + geometry.y)" ( (binary_expression "geometry.height + geometry.y" (field_expression "geometry.height" identifier . field_identifier) + (field_expression "geometry.y" identifier . field_identifier)) ))))) ;) (expression_statement "dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90;" (assignment_expression "dVar5 = (double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90" identifier = (binary_expression "(double)iVar16 * local_61e4 + (double)(longlong)local_61cc +\n                      (double)DAT_002b1d90" (binary_expression "(double)iVar16 * local_61e4 + (double)(longlong)local_61cc" (binary_expression "(double)iVar16 * local_61e4" (cast_expression "(double)iVar16" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) + (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) + (cast_expression "(double)DAT_002b1d90" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g %.20g Td\n",SUB84((double)geometry.x,0),\n                                 (int)((ulonglong)(double)geometry.x >> 0x20),SUB84(dVar5,0),\n                                 (int)((ulonglong)dVar5 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g %.20g Td\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)geometry.x,0)" identifier (argument_list "((double)geometry.x,0)" ( (cast_expression "(double)geometry.x" ( (type_descriptor "double" primitive_type) ) (field_expression "geometry.x" identifier . field_identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)geometry.x >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)geometry.x >> 0x20)" ( (binary_expression "(ulonglong)(double)geometry.x >> 0x20" (cast_expression "(ulonglong)(double)geometry.x" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)geometry.x" ( (type_descriptor "double" primitive_type) ) (field_expression "geometry.x" identifier . field_identifier))) >> number_literal) ))) , (call_expression "SUB84(dVar5,0)" identifier (argument_list "(dVar5,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar5 >> 0x20)" ( (binary_expression "(ulonglong)dVar5 >> 0x20" (cast_expression "(ulonglong)dVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16]);" (call_expression "FormatLocaleString(buffer,0x1000,"(%s) Tj\n",memory[iVar16])" identifier (argument_list "(buffer,0x1000,"(%s) Tj\n",memory[iVar16])" ( identifier , number_literal , (string_literal ""(%s) Tj\n"" " string_content escape_sequence ") , (subscript_expression "memory[iVar16]" identifier [ identifier ]) ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"ET\n");" (call_expression "WriteBlobString((Image *)local_6224,"ET\n")" identifier (argument_list "((Image *)local_6224,"ET\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""ET\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar23 = DestroyString(memory[iVar16]);" (assignment_expression "pcVar23 = DestroyString(memory[iVar16])" identifier = (call_expression "DestroyString(memory[iVar16])" identifier (argument_list "(memory[iVar16])" ( (subscript_expression "memory[iVar16]" identifier [ identifier ]) )))) ;) (expression_statement "memory[iVar16] = pcVar23;" (assignment_expression "memory[iVar16] = pcVar23" (subscript_expression "memory[iVar16]" identifier [ identifier ]) = identifier) ;) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(memory[iVar16] != (char *)0x0)" ( (binary_expression "memory[iVar16] != (char *)0x0" (subscript_expression "memory[iVar16]" identifier [ identifier ]) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20);" (assignment_expression "uStack_6150 = (undefined4)((ulonglong)dVar49 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)dVar49 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)dVar49 >> 0x20)" ( (binary_expression "(ulonglong)dVar49 >> 0x20" (cast_expression "(ulonglong)dVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_6154 = SUB84(dVar49,0);" (assignment_expression "local_6154 = SUB84(dVar49,0)" identifier = (call_expression "SUB84(dVar49,0)" identifier (argument_list "(dVar49,0)" ( identifier , number_literal )))) ;) (expression_statement "local_615c = SUB84(dVar1,0);" (assignment_expression "local_615c = SUB84(dVar1,0)" identifier = (call_expression "SUB84(dVar1,0)" identifier (argument_list "(dVar1,0)" ( identifier , number_literal )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20))" identifier (argument_list "(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,\n                             (int)((ulonglong)dVar1 >> 0x20),local_6154,uStack_6150,\n                             SUB84((double)geometry.x,0),\n                             (int)((ulonglong)(double)geometry.x >> 0x20),\n                             SUB84((double)geometry.y,0),\n                             (int)((ulonglong)(double)geometry.y >> 0x20))" ( identifier , number_literal , (string_literal ""%g 0 0 %g %.20g %.20g cm\n"" " string_content escape_sequence ") , identifier , (cast_expression "(int)((ulonglong)dVar1 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar1 >> 0x20)" ( (binary_expression "(ulonglong)dVar1 >> 0x20" (cast_expression "(ulonglong)dVar1" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , identifier , identifier , (call_expression "SUB84((double)geometry.x,0)" identifier (argument_list "((double)geometry.x,0)" ( (cast_expression "(double)geometry.x" ( (type_descriptor "double" primitive_type) ) (field_expression "geometry.x" identifier . field_identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)geometry.x >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)geometry.x >> 0x20)" ( (binary_expression "(ulonglong)(double)geometry.x >> 0x20" (cast_expression "(ulonglong)(double)geometry.x" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)geometry.x" ( (type_descriptor "double" primitive_type) ) (field_expression "geometry.x" identifier . field_identifier))) >> number_literal) ))) , (call_expression "SUB84((double)geometry.y,0)" identifier (argument_list "((double)geometry.y,0)" ( (cast_expression "(double)geometry.y" ( (type_descriptor "double" primitive_type) ) (field_expression "geometry.y" identifier . field_identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)geometry.y >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)geometry.y >> 0x20)" ( (binary_expression "(ulonglong)(double)geometry.y >> 0x20" (cast_expression "(ulonglong)(double)geometry.y" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)geometry.y" ( (type_descriptor "double" primitive_type) ) (field_expression "geometry.y" identifier . field_identifier))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "local_6224 = (double)(ulonglong)((Image *)local_6224)->scene;" (assignment_expression "local_6224 = (double)(ulonglong)((Image *)local_6224)->scene" identifier = (cast_expression "(double)(ulonglong)((Image *)local_6224)->scene" ( (type_descriptor "double" primitive_type) ) (field_expression "(ulonglong)((Image *)local_6224)->scene" (call_expression "(ulonglong)((Image *)local_6224)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) -> field_identifier))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Im%.20g Do\n",SUB84((double)(longlong)local_6224,0),\n                             (int)((ulonglong)(double)(longlong)local_6224 >> 0x20))" ( identifier , number_literal , (string_literal ""/Im%.20g Do\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_6224,0)" identifier (argument_list "((double)(longlong)local_6224,0)" ( (cast_expression "(double)(longlong)local_6224" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_6224" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_6224 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_6224 >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_6224 >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_6224" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_6224" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_6224" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"Q\n");" (call_expression "WriteBlobString(pIVar40,"Q\n")" identifier (argument_list "(pIVar40,"Q\n")" ( identifier , (string_literal ""Q\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar43 = TellBlob(pIVar40);" (assignment_expression "MVar43 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "WriteBlobString(pIVar40,"\nendstream\n");" (call_expression "WriteBlobString(pIVar40,"\nendstream\n")" identifier (argument_list "(pIVar40,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar44 = TellBlob(pIVar40);" (assignment_expression "MVar44 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44;" (assignment_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4) = MVar44" (pointer_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4)" * (cast_expression "(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 4)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + (uint)local_61f4 * 2 + 4)" ( (binary_expression "local_6200 + (uint)local_61f4 * 2 + 4" (binary_expression "local_6200 + (uint)local_61f4 * 2" identifier + (binary_expression "(uint)local_61f4 * 2" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "local_61cc = (double)(ulonglong)((uint)local_61f4 + 3);" (assignment_expression "local_61cc = (double)(ulonglong)((uint)local_61f4 + 3)" identifier = (cast_expression "(double)(ulonglong)((uint)local_61f4 + 3)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ulonglong)((uint)local_61f4 + 3)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((uint)local_61f4 + 3)" ( (binary_expression "(uint)local_61f4 + 3" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) ))))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_61cc,0)" identifier (argument_list "((double)(longlong)local_61cc,0)" ( (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61cc >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61cc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(MVar43 - MVar42),0)" identifier (argument_list "((double)(MVar43 - MVar42),0)" ( (cast_expression "(double)(MVar43 - MVar42)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(MVar43 - MVar42)" ( (binary_expression "MVar43 - MVar42" identifier - identifier) ))) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(MVar43 - MVar42) >> 0x20)" ( (binary_expression "(ulonglong)(double)(MVar43 - MVar42) >> 0x20" (call_expression "(ulonglong)(double)(MVar43 - MVar42)" (call_expression "(ulonglong)(double)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(double)" ( identifier ))) (argument_list "(MVar43 - MVar42)" ( (binary_expression "MVar43 - MVar42" identifier - identifier) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6)" * (cast_expression "(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 6)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + (uint)local_61f4 * 2 + 6)" ( (binary_expression "local_6200 + (uint)local_61f4 * 2 + 6" (binary_expression "local_6200 + (uint)local_61f4 * 2" identifier + (binary_expression "(uint)local_61f4 * 2" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4);" (assignment_expression "local_61e4 = (double)(ulonglong)((uint)local_61f4 + 4)" identifier = (cast_expression "(double)(ulonglong)((uint)local_61f4 + 4)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ulonglong)((uint)local_61f4 + 4)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((uint)local_61f4 + 4)" ( (binary_expression "(uint)local_61f4 + 4" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) ))))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_61e4,0)" identifier (argument_list "((double)(longlong)local_61e4,0)" ( (cast_expression "(double)(longlong)local_61e4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61e4" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61e4 >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61e4 >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61e4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61e4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61e4" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (if_statement "if ((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }" if (parenthesized_expression "((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors))" ( (binary_expression "(pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)" (parenthesized_expression "(pIVar40->storage_class == DirectClass)" ( (binary_expression "pIVar40->storage_class == DirectClass" (field_expression "pIVar40->storage_class" identifier -> field_identifier) == identifier) )) || (parenthesized_expression "(0x100 < pIVar40->colors)" ( (binary_expression "0x100 < pIVar40->colors" number_literal < (field_expression "pIVar40->colors" identifier -> field_identifier)) ))) )) (compound_statement "{\n            CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);\n          }" { (expression_statement "CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000);" (call_expression "CopyMagickString(buffer,"[ /PDF /Text /ImageC",0x1000)" identifier (argument_list "(buffer,"[ /PDF /Text /ImageC",0x1000)" ( identifier , (string_literal ""[ /PDF /Text /ImageC"" " string_content ") , number_literal ))) ;) }) (else_clause "else if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }" else (if_statement "if (local_61a4 < B44Compression) {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }" if (parenthesized_expression "(local_61a4 < B44Compression)" ( (binary_expression "local_61a4 < B44Compression" identifier < identifier) )) (compound_statement "{\n            CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);\n          }" { (expression_statement "CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000);" (call_expression "CopyMagickString(buffer,"[ /PDF /Text /ImageB",0x1000)" identifier (argument_list "(buffer,"[ /PDF /Text /ImageB",0x1000)" ( identifier , (string_literal ""[ /PDF /Text /ImageB"" " string_content ") , number_literal ))) ;) }) (else_clause "else {\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }" else (compound_statement "{\n            CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);\n          }" { (expression_statement "CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000);" (call_expression "CopyMagickString(buffer,"[ /PDF /Text /ImageI",0x1000)" identifier (argument_list "(buffer,"[ /PDF /Text /ImageI",0x1000)" ( identifier , (string_literal ""[ /PDF /Text /ImageI"" " string_content ") , number_literal ))) ;) }))))) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40," ]\n");" (call_expression "WriteBlobString(pIVar40," ]\n")" identifier (argument_list "(pIVar40," ]\n")" ( identifier , (string_literal "" ]\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8)" * (cast_expression "(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 8)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + (uint)local_61f4 * 2 + 8)" ( (binary_expression "local_6200 + (uint)local_61f4 * 2 + 8" (binary_expression "local_6200 + (uint)local_61f4 * 2" identifier + (binary_expression "(uint)local_61f4 * 2" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5);" (assignment_expression "local_61e4 = (double)(ulonglong)((uint)local_61f4 + 5)" identifier = (cast_expression "(double)(ulonglong)((uint)local_61f4 + 5)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ulonglong)((uint)local_61f4 + 5)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((uint)local_61f4 + 5)" ( (binary_expression "(uint)local_61f4 + 5" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) ))))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61e4,0),\n                             (int)((ulonglong)(double)(longlong)local_61e4 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_61e4,0)" identifier (argument_list "((double)(longlong)local_61e4,0)" ( (cast_expression "(double)(longlong)local_61e4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61e4" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61e4 >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61e4 >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61e4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61e4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61e4" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"<<\n");" (call_expression "WriteBlobString(pIVar40,"<<\n")" identifier (argument_list "(pIVar40,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (memory != (char **)0x0) {\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }" if (parenthesized_expression "(memory != (char **)0x0)" ( (binary_expression "memory != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            WriteBlobString(pIVar40,"/Type /Font\n");\n            WriteBlobString(pIVar40,"/Subtype /Type1\n");\n            local_61e4 = (double)(ulonglong)pIVar40->scene;\n            FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");\n            WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(memory);\n          }" { (expression_statement "WriteBlobString(pIVar40,"/Type /Font\n");" (call_expression "WriteBlobString(pIVar40,"/Type /Font\n")" identifier (argument_list "(pIVar40,"/Type /Font\n")" ( identifier , (string_literal ""/Type /Font\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"/Subtype /Type1\n");" (call_expression "WriteBlobString(pIVar40,"/Subtype /Type1\n")" identifier (argument_list "(pIVar40,"/Subtype /Type1\n")" ( identifier , (string_literal ""/Subtype /Type1\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_61e4 = (double)(ulonglong)pIVar40->scene;" (assignment_expression "local_61e4 = (double)(ulonglong)pIVar40->scene" identifier = (cast_expression "(double)(ulonglong)pIVar40->scene" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)pIVar40->scene" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar40->scene" identifier -> field_identifier)))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Name /F%.20g\n",SUB84((double)(longlong)local_61e4,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20))" ( identifier , number_literal , (string_literal ""/Name /F%.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_61e4,0)" identifier (argument_list "((double)(longlong)local_61e4,0)" ( (cast_expression "(double)(longlong)local_61e4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61e4" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61e4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61e4 >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61e4 >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61e4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61e4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61e4" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"/BaseFont /Helvetica\n");" (call_expression "WriteBlobString(pIVar40,"/BaseFont /Helvetica\n")" identifier (argument_list "(pIVar40,"/BaseFont /Helvetica\n")" ( identifier , (string_literal ""/BaseFont /Helvetica\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n");" (call_expression "WriteBlobString(pIVar40,"/Encoding /MacRomanEncoding\n")" identifier (argument_list "(pIVar40,"/Encoding /MacRomanEncoding\n")" ( identifier , (string_literal ""/Encoding /MacRomanEncoding\n"" " string_content escape_sequence ") ))) ;) (expression_statement "RelinquishMagickMemory(memory);" (call_expression "RelinquishMagickMemory(memory)" identifier (argument_list "(memory)" ( identifier ))) ;) })) (expression_statement "WriteBlobString(pIVar40,">>\n");" (call_expression "WriteBlobString(pIVar40,">>\n")" identifier (argument_list "(pIVar40,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10)" * (cast_expression "(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 10)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + (uint)local_61f4 * 2 + 10)" ( (binary_expression "local_6200 + (uint)local_61f4 * 2 + 10" (binary_expression "local_6200 + (uint)local_61f4 * 2" identifier + (binary_expression "(uint)local_61f4 * 2" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "dVar1 = (double)((uint)local_61f4 + 6);" (assignment_expression "dVar1 = (double)((uint)local_61f4 + 6)" identifier = (cast_expression "(double)((uint)local_61f4 + 6)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uint)local_61f4 + 6)" ( (binary_expression "(uint)local_61f4 + 6" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1,0)" identifier (argument_list "(dVar1,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar1 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar1 >> 0x20)" ( (binary_expression "(ulonglong)dVar1 >> 0x20" (cast_expression "(ulonglong)dVar1" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"<<\n");" (call_expression "WriteBlobString(pIVar40,"<<\n")" identifier (argument_list "(pIVar40,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"/Type /XObject\n");" (call_expression "WriteBlobString(pIVar40,"/Type /XObject\n")" identifier (argument_list "(pIVar40,"/Type /XObject\n")" ( identifier , (string_literal ""/Type /XObject\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"/Subtype /Image\n");" (call_expression "WriteBlobString(pIVar40,"/Subtype /Image\n")" identifier (argument_list "(pIVar40,"/Subtype /Image\n")" ( identifier , (string_literal ""/Subtype /Image\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_61cc = (double)(ulonglong)pIVar40->scene;" (assignment_expression "local_61cc = (double)(ulonglong)pIVar40->scene" identifier = (cast_expression "(double)(ulonglong)pIVar40->scene" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)pIVar40->scene" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar40->scene" identifier -> field_identifier)))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Name /Im%.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20))" ( identifier , number_literal , (string_literal ""/Name /Im%.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_61cc,0)" identifier (argument_list "((double)(longlong)local_61cc,0)" ( (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61cc >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61cc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (switch_statement "switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;\n          default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }" { (case_statement "case (uchar *)0x0:" case (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            dVar49 = (double)(longlong)local_61cc;\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023602b;" case (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);" (call_expression "CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" identifier (argument_list "(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" ( identifier , (string_literal ""/Filter [ /CCITTFaxDecode ]\n"" " string_content escape_sequence ") , number_literal ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "local_61cc = (double)(ulonglong)pIVar40->rows;" (assignment_expression "local_61cc = (double)(ulonglong)pIVar40->rows" identifier = (cast_expression "(double)(ulonglong)pIVar40->rows" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)pIVar40->rows" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar40->rows" identifier -> field_identifier)))) ;) (expression_statement "dVar49 = (double)(longlong)local_61cc;" (assignment_expression "dVar49 = (double)(longlong)local_61cc" identifier = (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;) (expression_statement "local_61cc = (double)(ulonglong)pIVar40->columns;" (assignment_expression "local_61cc = (double)(ulonglong)pIVar40->columns" identifier = (cast_expression "(double)(ulonglong)pIVar40->columns" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)pIVar40->columns" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar40->columns" identifier -> field_identifier)))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20))" identifier (argument_list "(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20))" ( identifier , number_literal , (string_literal ""/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"" " string_content escape_sequence ") , (string_literal ""0"" " string_content ") , (call_expression "SUB84((double)(longlong)local_61cc,0)" identifier (argument_list "((double)(longlong)local_61cc,0)" ( (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61cc >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61cc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) , (call_expression "SUB84(dVar49,0)" identifier (argument_list "(dVar49,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar49 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar49 >> 0x20)" ( (binary_expression "(ulonglong)dVar49 >> 0x20" (cast_expression "(ulonglong)dVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (goto_statement "goto LAB_0023602b;" goto statement_identifier ;)) (case_statement "default:\n            pcVar23 = "RunLengthDecode";\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\nLAB_0023602b:\n            pcVar23 = buffer;\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->columns;\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc = (double)(ulonglong)pIVar40->rows;\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;\n            goto LAB_00235dee;" default : (expression_statement "pcVar23 = "RunLengthDecode";" (assignment_expression "pcVar23 = "RunLengthDecode"" identifier = (string_literal ""RunLengthDecode"" " string_content ")) ;) (expression_statement "pcVar19 = "/Filter [ /%s ]\n";" (assignment_expression "pcVar19 = "/Filter [ /%s ]\n"" identifier = (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ")) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");" (call_expression "FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode")" identifier (argument_list "(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode")" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , (string_literal ""RunLengthDecode"" " string_content ") ))) ;) (expression_statement "dVar49 = (double)CONCAT44(pcVar23,pcVar19);" (assignment_expression "dVar49 = (double)CONCAT44(pcVar23,pcVar19)" identifier = (cast_expression "(double)CONCAT44(pcVar23,pcVar19)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar23,pcVar19)" identifier (argument_list "(pcVar23,pcVar19)" ( identifier , identifier ))))) ;) (labeled_statement "LAB_0023602b:\n            pcVar23 = buffer;" statement_identifier : (expression_statement "pcVar23 = buffer;" (assignment_expression "pcVar23 = buffer" identifier = identifier) ;)) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "local_61cc = (double)(ulonglong)pIVar40->columns;" (assignment_expression "local_61cc = (double)(ulonglong)pIVar40->columns" identifier = (cast_expression "(double)(ulonglong)pIVar40->columns" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)pIVar40->columns" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar40->columns" identifier -> field_identifier)))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                               (int)((ulonglong)(double)(longlong)local_61cc >> 0x20),pcVar23,\n                               SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20))" ( identifier , number_literal , (string_literal ""/Width %.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_61cc,0)" identifier (argument_list "((double)(longlong)local_61cc,0)" ( (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61cc >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61cc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) , identifier , (call_expression "SUB84(dVar49,0)" identifier (argument_list "(dVar49,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar49 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar49 >> 0x20)" ( (binary_expression "(ulonglong)dVar49 >> 0x20" (cast_expression "(ulonglong)dVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "local_61cc = (double)(ulonglong)pIVar40->rows;" (assignment_expression "local_61cc = (double)(ulonglong)pIVar40->rows" identifier = (cast_expression "(double)(ulonglong)pIVar40->rows" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)pIVar40->rows" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar40->rows" identifier -> field_identifier)))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0)\n                               ,(int)((ulonglong)(double)(longlong)local_61cc >> 0x20))" ( identifier , number_literal , (string_literal ""/Height %.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_61cc,0)" identifier (argument_list "((double)(longlong)local_61cc,0)" ( (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61cc >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61cc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_002aabd0,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20))" ( identifier , number_literal , (string_literal ""/ColorSpace %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1 + (double)DAT_002aabd0,0)" identifier (argument_list "(dVar1 + (double)DAT_002aabd0,0)" ( (binary_expression "dVar1 + (double)DAT_002aabd0" identifier + (cast_expression "(double)DAT_002aabd0" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20)" ( (binary_expression "(ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20" (call_expression "(ulonglong)(dVar1 + (double)DAT_002aabd0)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar1 + (double)DAT_002aabd0)" ( (binary_expression "dVar1 + (double)DAT_002aabd0" identifier + (cast_expression "(double)DAT_002aabd0" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8;" (assignment_expression "local_61cc._0_4_ = (-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8" (field_expression "local_61cc._0_4_" identifier . field_identifier) = (binary_expression "(-(uint)(local_61a4 < B44Compression) & 0xfffffff9) + 8" (parenthesized_expression "(-(uint)(local_61a4 < B44Compression) & 0xfffffff9)" ( (binary_expression "-(uint)(local_61a4 < B44Compression) & 0xfffffff9" (unary_expression "-(uint)(local_61a4 < B44Compression)" - (call_expression "(uint)(local_61a4 < B44Compression)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_61a4 < B44Compression)" ( (binary_expression "local_61a4 < B44Compression" identifier < identifier) )))) & number_literal) )) + number_literal)) ;) (goto_statement "goto LAB_00235dee;" goto statement_identifier ;)) (case_statement "case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00235f5e;" case (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar23 = "JPXDecode";" (assignment_expression "pcVar23 = "JPXDecode"" identifier = (string_literal ""JPXDecode"" " string_content ")) ;) (goto_statement "goto LAB_00235f5e;" goto statement_identifier ;)) (case_statement "case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto LAB_00235d3f;" case (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar23 = "DCTDecode";" (assignment_expression "pcVar23 = "DCTDecode"" identifier = (string_literal ""DCTDecode"" " string_content ")) ;) (labeled_statement "LAB_00235f5e:\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);" statement_identifier : (expression_statement "FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);" (call_expression "FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23)" identifier (argument_list "(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;)) (if_statement "if (pIVar40->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }" if (parenthesized_expression "(pIVar40->colorspace == CMYKColorspace)" ( (binary_expression "pIVar40->colorspace == CMYKColorspace" (field_expression "pIVar40->colorspace" identifier -> field_identifier) == identifier) )) (compound_statement "{\n              WriteBlobString(pIVar40,buffer);\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }" { (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);" (call_expression "CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" identifier (argument_list "(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" ( identifier , (string_literal ""/Decode [1 0 1 0 1 0 1 0]\n"" " string_content escape_sequence ") , number_literal ))) ;) })) (goto_statement "goto LAB_00235d3f;" goto statement_identifier ;)) (case_statement "case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;" case (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar23 = "LZWDecode";" (assignment_expression "pcVar23 = "LZWDecode"" identifier = (string_literal ""LZWDecode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;" case (cast_expression "(uchar *)0x9" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar23 = "ASCII85Decode";" (assignment_expression "pcVar23 = "ASCII85Decode"" identifier = (string_literal ""ASCII85Decode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uchar *)0xd:\n            pcVar23 = "FlateDecode";" case (cast_expression "(uchar *)0xd" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar23 = "FlateDecode";" (assignment_expression "pcVar23 = "FlateDecode"" identifier = (string_literal ""FlateDecode"" " string_content ")) ;)) })) (expression_statement "FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);" (call_expression "FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23)" identifier (argument_list "(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;) (labeled_statement "LAB_00235d3f:\n          WriteBlobString(pIVar40,buffer);" statement_identifier : (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;)) (expression_statement "local_61cc = (double)(ulonglong)pIVar40->columns;" (assignment_expression "local_61cc = (double)(ulonglong)pIVar40->columns" identifier = (cast_expression "(double)(ulonglong)pIVar40->columns" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)pIVar40->columns" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar40->columns" identifier -> field_identifier)))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Width %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20))" ( identifier , number_literal , (string_literal ""/Width %.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_61cc,0)" identifier (argument_list "((double)(longlong)local_61cc,0)" ( (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61cc >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61cc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "local_61cc = (double)(ulonglong)pIVar40->rows;" (assignment_expression "local_61cc = (double)(ulonglong)pIVar40->rows" identifier = (cast_expression "(double)(ulonglong)pIVar40->rows" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)pIVar40->rows" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar40->rows" identifier -> field_identifier)))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Height %.20g\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20))" ( identifier , number_literal , (string_literal ""/Height %.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_61cc,0)" identifier (argument_list "((double)(longlong)local_61cc,0)" ( (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61cc >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61cc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/ColorSpace %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_002aabd0,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20))" ( identifier , number_literal , (string_literal ""/ColorSpace %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1 + (double)DAT_002aabd0,0)" identifier (argument_list "(dVar1 + (double)DAT_002aabd0,0)" ( (binary_expression "dVar1 + (double)DAT_002aabd0" identifier + (cast_expression "(double)DAT_002aabd0" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20)" ( (binary_expression "(ulonglong)(dVar1 + (double)DAT_002aabd0) >> 0x20" (call_expression "(ulonglong)(dVar1 + (double)DAT_002aabd0)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar1 + (double)DAT_002aabd0)" ( (binary_expression "dVar1 + (double)DAT_002aabd0" identifier + (cast_expression "(double)DAT_002aabd0" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "local_61cc._0_4_ = 8;" (assignment_expression "local_61cc._0_4_ = 8" (field_expression "local_61cc._0_4_" identifier . field_identifier) = number_literal) ;) (labeled_statement "LAB_00235dee:\n          FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" statement_identifier : (expression_statement "FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (call_expression "FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" identifier (argument_list "(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" ( identifier , number_literal , (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ") , (field_expression "local_61cc._0_4_" identifier . field_identifier) ))) ;)) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (if_statement "if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }" if (parenthesized_expression "(pIVar40->alpha_trait != UndefinedPixelTrait)" ( (binary_expression "pIVar40->alpha_trait != UndefinedPixelTrait" (field_expression "pIVar40->alpha_trait" identifier -> field_identifier) != identifier) )) (compound_statement "{\n            fVar10 = DAT_002aabd4;\n            if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }\n            dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));\n            FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }" { (expression_statement "fVar10 = DAT_002aabd4;" (assignment_expression "fVar10 = DAT_002aabd4" identifier = identifier) ;) (if_statement "if (pSVar17 != (StringInfo *)0x0) {\n              fVar10 = DAT_002a9b8c;\n            }" if (parenthesized_expression "(pSVar17 != (StringInfo *)0x0)" ( (binary_expression "pSVar17 != (StringInfo *)0x0" identifier != (cast_expression "(StringInfo *)0x0" ( (type_descriptor "StringInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              fVar10 = DAT_002a9b8c;\n            }" { (expression_statement "fVar10 = DAT_002a9b8c;" (assignment_expression "fVar10 = DAT_002a9b8c" identifier = identifier) ;) })) (expression_statement "dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6));" (assignment_expression "dVar49 = (double)(fVar10 + (float)((uint)local_61f4 + 6))" identifier = (cast_expression "(double)(fVar10 + (float)((uint)local_61f4 + 6))" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(fVar10 + (float)((uint)local_61f4 + 6))" ( (binary_expression "fVar10 + (float)((uint)local_61f4 + 6)" identifier + (cast_expression "(float)((uint)local_61f4 + 6)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((uint)local_61f4 + 6)" ( (binary_expression "(uint)local_61f4 + 6" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) )))) )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20))" identifier (argument_list "(buffer,0x1000,"/SMask %.20g 0 R\n",SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20))" ( identifier , number_literal , (string_literal ""/SMask %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar49,0)" identifier (argument_list "(dVar49,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar49 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar49 >> 0x20)" ( (binary_expression "(ulonglong)dVar49 >> 0x20" (cast_expression "(ulonglong)dVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) })) (expression_statement "FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20))" ( identifier , number_literal , (string_literal ""/Length %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1 + (double)DAT_0029f718,0)" identifier (argument_list "(dVar1 + (double)DAT_0029f718,0)" ( (binary_expression "dVar1 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20)" ( (binary_expression "(ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20" (call_expression "(ulonglong)(dVar1 + (double)DAT_0029f718)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar1 + (double)DAT_0029f718)" ( (binary_expression "dVar1 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,">>\n");" (call_expression "WriteBlobString(pIVar40,">>\n")" identifier (argument_list "(pIVar40,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"stream\n");" (call_expression "WriteBlobString(pIVar40,"stream\n")" identifier (argument_list "(pIVar40,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns;" (assignment_expression "uVar9 = (ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns" identifier = (binary_expression "(ulonglong)pIVar40->rows * (ulonglong)pIVar40->columns" (cast_expression "(ulonglong)pIVar40->rows" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar40->rows" identifier -> field_identifier)) * (cast_expression "(ulonglong)pIVar40->columns" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar40->columns" identifier -> field_identifier)))) ;) (expression_statement "uVar18 = (uint)uVar9;" (assignment_expression "uVar18 = (uint)uVar9" identifier = (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }" if (parenthesized_expression "((uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0)" ( (binary_expression "(uVar9 & 0x3fffffff00000000) != 0 || uVar18 >> 0x1e != 0" (binary_expression "(uVar9 & 0x3fffffff00000000) != 0" (parenthesized_expression "(uVar9 & 0x3fffffff00000000)" ( (binary_expression "uVar9 & 0x3fffffff00000000" identifier & number_literal) )) != number_literal) || (binary_expression "uVar18 >> 0x1e != 0" (binary_expression "uVar18 >> 0x1e" identifier >> number_literal) != number_literal)) )) (compound_statement "{\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          }" { (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);" (call_expression "ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename)" identifier (argument_list "(exception,"coders/pdf.c","WritePDFImage",0x759,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , number_literal , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "pIVar40->filename" identifier -> field_identifier) ))) ;) (expression_statement "p_Var8 = (_Image *)image_info->adjoin;" (assignment_expression "p_Var8 = (_Image *)image_info->adjoin" identifier = (cast_expression "(_Image *)image_info->adjoin" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image_info->adjoin" identifier -> field_identifier))) ;) (expression_statement "pIVar15 = pIVar40;" (assignment_expression "pIVar15 = pIVar40" identifier = identifier) ;) (while_statement "while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }" while (parenthesized_expression "(pIVar20 = pIVar15, p_Var8 != (_Image *)0x0)" ( (comma_expression "pIVar20 = pIVar15, p_Var8 != (_Image *)0x0" (assignment_expression "pIVar20 = pIVar15" identifier = identifier) , (binary_expression "p_Var8 != (_Image *)0x0" identifier != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }" { (expression_statement "p_Var8 = pIVar20->previous;" (assignment_expression "p_Var8 = pIVar20->previous" identifier = (field_expression "pIVar20->previous" identifier -> field_identifier)) ;) (expression_statement "pIVar15 = p_Var8;" (assignment_expression "pIVar15 = p_Var8" identifier = identifier) ;) (expression_statement "pIVar40 = pIVar20;" (assignment_expression "pIVar40 = pIVar20" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (if_statement "if (B44ACompression < local_61a4) {\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }" if (parenthesized_expression "(B44ACompression < local_61a4)" ( (binary_expression "B44ACompression < local_61a4" identifier < identifier) )) (compound_statement "{\n            if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(pIVar40);\n            goto LAB_002361b2;\n          }" { (if_statement "if ((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)) {\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }" if (parenthesized_expression "((image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse))" ( (binary_expression "(image_info->type != TrueColorType) &&\n               (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)" (parenthesized_expression "(image_info->type != TrueColorType)" ( (binary_expression "image_info->type != TrueColorType" (field_expression "image_info->type" identifier -> field_identifier) != identifier) )) && (parenthesized_expression "(MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)" ( (comma_expression "MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse" (assignment_expression "MVar14 = SetImageGray(pIVar40,exception)" identifier = (call_expression "SetImageGray(pIVar40,exception)" identifier (argument_list "(pIVar40,exception)" ( identifier , identifier )))) , (binary_expression "MVar14 != MagickFalse" identifier != identifier)) ))) )) (compound_statement "{\n              switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }\n              MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);\njoined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }" { (switch_statement "switch(local_61a8) {\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n              case (uchar *)0x0:\n              case (uchar *)0x1:\n                goto _L184;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;\n              case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;\n              case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;\n              case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;\n              }" { (case_statement "case (uchar *)0x0:" case (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uchar *)0x1:\n                goto _L184;" case (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (goto_statement "goto _L184;" goto statement_identifier ;)) (case_statement "default:\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }\nLAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\nLAB_00237064:\n                RelinquishVirtualMemory(local_6194);\n                goto joined_r0x002361ac;" default : (expression_statement "local_6194 = AcquireVirtualMemory(uVar18,1);" (assignment_expression "local_6194 = AcquireVirtualMemory(uVar18,1)" identifier = (call_expression "AcquireVirtualMemory(uVar18,1)" identifier (argument_list "(uVar18,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }" if (parenthesized_expression "(local_6194 == (MemoryInfo *)0x0)" ( (binary_expression "local_6194 == (MemoryInfo *)0x0" identifier == (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }" { (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);" (call_expression "ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename)" identifier (argument_list "(exception,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , number_literal , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "pIVar40->filename" identifier -> field_identifier) ))) ;) (expression_statement "p_Var8 = (_Image *)image_info->adjoin;" (assignment_expression "p_Var8 = (_Image *)image_info->adjoin" identifier = (cast_expression "(_Image *)image_info->adjoin" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image_info->adjoin" identifier -> field_identifier))) ;) (expression_statement "pIVar15 = pIVar40;" (assignment_expression "pIVar15 = pIVar40" identifier = identifier) ;) (while_statement "while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }" while (parenthesized_expression "(pIVar20 = pIVar15, p_Var8 != (_Image *)0x0)" ( (comma_expression "pIVar20 = pIVar15, p_Var8 != (_Image *)0x0" (assignment_expression "pIVar20 = pIVar15" identifier = identifier) , (binary_expression "p_Var8 != (_Image *)0x0" identifier != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }" { (expression_statement "p_Var8 = pIVar20->previous;" (assignment_expression "p_Var8 = pIVar20->previous" identifier = (field_expression "pIVar20->previous" identifier -> field_identifier)) ;) (expression_statement "pIVar15 = p_Var8;" (assignment_expression "pIVar15 = p_Var8" identifier = identifier) ;) (expression_statement "pIVar40 = pIVar20;" (assignment_expression "pIVar40 = pIVar20" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (expression_statement "puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);" (assignment_expression "puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194)" identifier = (cast_expression "(uchar *)GetVirtualMemoryBlob(local_6194)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_6194)" identifier (argument_list "(local_6194)" ( identifier ))))) ;) (if_statement "if (0 < (int)pIVar40->rows) {\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }" if (parenthesized_expression "(0 < (int)pIVar40->rows)" ( (binary_expression "0 < (int)pIVar40->rows" number_literal < (cast_expression "(int)pIVar40->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->rows" identifier -> field_identifier))) )) (compound_statement "{\n                  iVar16 = 0;\n                  local_61e4 = 0.0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);\n                }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "local_61e4 = 0.0;" (assignment_expression "local_61e4 = 0.0" identifier = number_literal) ;) (expression_statement "puVar31 = puVar24;" (assignment_expression "puVar31 = puVar24" identifier = identifier) ;) (do_statement "do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  } while (iVar16 < (int)uVar27);" do (compound_statement "{\n                    pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar35 = puVar31;\n                    puVar34 = puVar31;\n                    if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }\n                    uVar27 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }\n                    iVar16 = iVar16 + 1;\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                    puVar31 = puVar34;\n                  }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar40,0,iVar16,pIVar40->columns,1,exception)" identifier (argument_list "(pIVar40,0,iVar16,pIVar40->columns,1,exception)" ( identifier , number_literal , identifier , (field_expression "pIVar40->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "puVar35 = puVar31;" (assignment_expression "puVar35 = puVar31" identifier = identifier) ;) (expression_statement "puVar34 = puVar31;" (assignment_expression "puVar34 = puVar31" identifier = identifier) ;) (if_statement "if (0 < (int)pIVar40->columns) {\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }" if (parenthesized_expression "(0 < (int)pIVar40->columns)" ( (binary_expression "0 < (int)pIVar40->columns" number_literal < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) (compound_statement "{\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                    }" { (do_statement "do {\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);" do (compound_statement "{\n                        pPVar7 = pIVar40->channel_map;\n                        puVar34 = puVar35 + 1;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar34;\n                      }" { (expression_statement "pPVar7 = pIVar40->channel_map;" (assignment_expression "pPVar7 = pIVar40->channel_map" identifier = (field_expression "pIVar40->channel_map" identifier -> field_identifier)) ;) (expression_statement "puVar34 = puVar35 + 1;" (assignment_expression "puVar34 = puVar35 + 1" identifier = (binary_expression "puVar35 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];" (assignment_expression "fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset]" identifier = (binary_expression "(float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset]" (binary_expression "(float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset]" (binary_expression "(float)pQVar25[pPVar7[2].offset] * DAT_002b2404" (cast_expression "(float)pQVar25[pPVar7[2].offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar25[pPVar7[2].offset]" identifier [ (field_expression "pPVar7[2].offset" (subscript_expression "pPVar7[2]" identifier [ number_literal ]) . field_identifier) ])) * identifier) + (binary_expression "DAT_002b23fc * (float)pQVar25[pPVar7[1].offset]" identifier * (cast_expression "(float)pQVar25[pPVar7[1].offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar25[pPVar7[1].offset]" identifier [ (field_expression "pPVar7[1].offset" (subscript_expression "pPVar7[1]" identifier [ number_literal ]) . field_identifier) ])))) + (binary_expression "DAT_002b2400 * (float)pQVar25[pPVar7->offset]" identifier * (cast_expression "(float)pQVar25[pPVar7->offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar25[pPVar7->offset]" identifier [ (field_expression "pPVar7->offset" identifier -> field_identifier) ]))))) ;) (if_statement "if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < fVar10)" ( (binary_expression "0.0 < fVar10" number_literal < identifier) )) (compound_statement "{\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }" { (expression_statement "fVar10 = fVar10 / DAT_002a7ff0;" (assignment_expression "fVar10 = fVar10 / DAT_002a7ff0" identifier = (binary_expression "fVar10 / DAT_002a7ff0" identifier / identifier)) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }" if (parenthesized_expression "(fVar10 < DAT_002a7ff4)" ( (binary_expression "fVar10 < DAT_002a7ff4" identifier < identifier) )) (compound_statement "{\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }" { (expression_statement "uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(fVar10 + DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(fVar10 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar10 + DAT_0029f124)" identifier (argument_list "(fVar10 + DAT_0029f124)" ( (binary_expression "fVar10 + DAT_0029f124" identifier + identifier) )))))) ;) })) })) (expression_statement "*puVar35 = uVar13;" (assignment_expression "*puVar35 = uVar13" (pointer_expression "*puVar35" * identifier) = identifier) ;) (expression_statement "pQVar25 = pQVar25 + pIVar40->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar40->number_channels" identifier = (binary_expression "pQVar25 + pIVar40->number_channels" identifier + (field_expression "pIVar40->number_channels" identifier -> field_identifier))) ;) (expression_statement "puVar35 = puVar34;" (assignment_expression "puVar35 = puVar34" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar34 - (int)puVar31 < (int)pIVar40->columns)" ( (binary_expression "(int)puVar34 - (int)puVar31 < (int)pIVar40->columns" (binary_expression "(int)puVar34 - (int)puVar31" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar31" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "uVar27 = pIVar40->rows;" (assignment_expression "uVar27 = pIVar40->rows" identifier = (field_expression "pIVar40->rows" identifier -> field_identifier)) ;) (if_statement "if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }" if (parenthesized_expression "(pIVar40->previous == (_Image *)0x0)" ( (binary_expression "pIVar40->previous == (_Image *)0x0" (field_expression "pIVar40->previous" identifier -> field_identifier) == (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);\n                      if (MVar14 == MagickFalse) break;\n                      uVar27 = pIVar40->rows;\n                    }" { (expression_statement "MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27);" (assignment_expression "MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27)" identifier = (call_expression "SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27)" identifier (argument_list "(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar27)" ( identifier , (string_literal ""Save/Image"" " string_content ") , (cast_expression "(MagickOffsetType)local_61e4" ( (type_descriptor "MagickOffsetType" type_identifier) ) identifier) , (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) )))) ;) (if_statement "if (MVar14 == MagickFalse) break;" if (parenthesized_expression "(MVar14 == MagickFalse)" ( (binary_expression "MVar14 == MagickFalse" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar27 = pIVar40->rows;" (assignment_expression "uVar27 = pIVar40->rows" identifier = (field_expression "pIVar40->rows" identifier -> field_identifier)) ;) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);" (assignment_expression "local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1)" identifier = (cast_expression "(double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1)" identifier (argument_list "(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1)" ( (binary_expression "local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4)" (field_expression "local_61e4._4_4_" identifier . field_identifier) + (call_expression "(uint)(0xfffffffe < (uint)local_61e4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < (uint)local_61e4)" ( (binary_expression "0xfffffffe < (uint)local_61e4" number_literal < (cast_expression "(uint)local_61e4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (binary_expression "(uint)local_61e4 + 1" (cast_expression "(uint)local_61e4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar31 = puVar34;" (assignment_expression "puVar31 = puVar34" identifier = identifier) ;) }) while (parenthesized_expression "(iVar16 < (int)uVar27)" ( (binary_expression "iVar16 < (int)uVar27" identifier < (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (labeled_statement "LAB_00237039:\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }" statement_identifier : (if_statement "if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }" if (parenthesized_expression "(local_61b8 == LZWCompression)" ( (binary_expression "local_61b8 == LZWCompression" identifier == identifier) )) (compound_statement "{\n                  MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }" { (expression_statement "MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception);" (assignment_expression "MVar14 = LZWEncodeImage(pIVar40,uVar18,puVar24,exception)" identifier = (call_expression "LZWEncodeImage(pIVar40,uVar18,puVar24,exception)" identifier (argument_list "(pIVar40,uVar18,puVar24,exception)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }" else (compound_statement "{\n                  MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);\n                }" { (expression_statement "MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception);" (assignment_expression "MVar14 = PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception)" identifier = (call_expression "PackbitsEncodeImage(pIVar40,uVar18,puVar24,exception)" identifier (argument_list "(pIVar40,uVar18,puVar24,exception)" ( identifier , identifier , identifier , identifier )))) ;) })))) (labeled_statement "LAB_00237064:\n                RelinquishVirtualMemory(local_6194);" statement_identifier : (expression_statement "RelinquishVirtualMemory(local_6194);" (call_expression "RelinquishVirtualMemory(local_6194)" identifier (argument_list "(local_6194)" ( identifier ))) ;)) (goto_statement "goto joined_r0x002361ac;" goto statement_identifier ;)) (case_statement "case (uchar *)0x4:\n_L217:\n                pcVar23 = "jp2";\n                break;" case (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L217:\n                pcVar23 = "jp2";" statement_identifier : (expression_statement "pcVar23 = "jp2";" (assignment_expression "pcVar23 = "jp2"" identifier = (string_literal ""jp2"" " string_content ")) ;)) (break_statement "break;" break ;)) (case_statement "case (uchar *)0x5:\n_L215:\n                pcVar23 = "jpeg";\n                break;" case (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L215:\n                pcVar23 = "jpeg";" statement_identifier : (expression_statement "pcVar23 = "jpeg";" (assignment_expression "pcVar23 = "jpeg"" identifier = (string_literal ""jpeg"" " string_content ")) ;)) (break_statement "break;" break ;)) (case_statement "case (uchar *)0x9:\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                goto LAB_002368f4;" case (cast_expression "(uchar *)0x9" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "Ascii85Initialize(pIVar40);" (call_expression "Ascii85Initialize(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (if_statement "if (0 < (int)pIVar40->rows) {\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }" if (parenthesized_expression "(0 < (int)pIVar40->rows)" ( (binary_expression "0 < (int)pIVar40->rows" number_literal < (cast_expression "(int)pIVar40->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->rows" identifier -> field_identifier))) )) (compound_statement "{\n                  local_61e4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }" { (expression_statement "local_61e4 = 0.0;" (assignment_expression "local_61e4 = 0.0" identifier = number_literal) ;) (expression_statement "local_6224._0_4_ = (Image *)0x0;" (assignment_expression "local_6224._0_4_ = (Image *)0x0" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);" do (compound_statement "{\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);\n                  }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception)" identifier (argument_list "(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception)" ( identifier , number_literal , (cast_expression "(ssize_t)(Image *)local_6224" ( (type_descriptor "ssize_t" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (field_expression "pIVar40->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }" if (parenthesized_expression "(0 < (int)pIVar40->columns)" ( (binary_expression "0 < (int)pIVar40->columns" number_literal < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) (compound_statement "{\n                      iVar16 = 0;\n                      do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar40->columns);" do (compound_statement "{\n                        pPVar7 = pIVar40->channel_map;\n                        uVar13 = '\0';\n                        fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                        if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      }" { (expression_statement "pPVar7 = pIVar40->channel_map;" (assignment_expression "pPVar7 = pIVar40->channel_map" identifier = (field_expression "pIVar40->channel_map" identifier -> field_identifier)) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset];" (assignment_expression "fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset]" identifier = (binary_expression "(float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                                 DAT_002b2400 * (float)pQVar25[pPVar7->offset]" (binary_expression "(float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                                 DAT_002b23fc * (float)pQVar25[pPVar7[1].offset]" (binary_expression "(float)pQVar25[pPVar7[2].offset] * DAT_002b2404" (cast_expression "(float)pQVar25[pPVar7[2].offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar25[pPVar7[2].offset]" identifier [ (field_expression "pPVar7[2].offset" (subscript_expression "pPVar7[2]" identifier [ number_literal ]) . field_identifier) ])) * identifier) + (binary_expression "DAT_002b23fc * (float)pQVar25[pPVar7[1].offset]" identifier * (cast_expression "(float)pQVar25[pPVar7[1].offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar25[pPVar7[1].offset]" identifier [ (field_expression "pPVar7[1].offset" (subscript_expression "pPVar7[1]" identifier [ number_literal ]) . field_identifier) ])))) + (binary_expression "DAT_002b2400 * (float)pQVar25[pPVar7->offset]" identifier * (cast_expression "(float)pQVar25[pPVar7->offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar25[pPVar7->offset]" identifier [ (field_expression "pPVar7->offset" identifier -> field_identifier) ]))))) ;) (if_statement "if (0.0 < fVar10) {\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < fVar10)" ( (binary_expression "0.0 < fVar10" number_literal < identifier) )) (compound_statement "{\n                          fVar10 = fVar10 / DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }\n                        }" { (expression_statement "fVar10 = fVar10 / DAT_002a7ff0;" (assignment_expression "fVar10 = fVar10 / DAT_002a7ff0" identifier = (binary_expression "fVar10 / DAT_002a7ff0" identifier / identifier)) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (fVar10 < DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }" if (parenthesized_expression "(fVar10 < DAT_002a7ff4)" ( (binary_expression "fVar10 < DAT_002a7ff4" identifier < identifier) )) (compound_statement "{\n                            uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                          }" { (expression_statement "uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(fVar10 + DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(fVar10 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar10 + DAT_0029f124)" identifier (argument_list "(fVar10 + DAT_0029f124)" ( (binary_expression "fVar10 + DAT_0029f124" identifier + identifier) )))))) ;) })) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "pQVar25 = pQVar25 + pIVar40->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar40->number_channels" identifier = (binary_expression "pQVar25 + pIVar40->number_channels" identifier + (field_expression "pIVar40->number_channels" identifier -> field_identifier))) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar40->columns)" ( (binary_expression "iVar16 < (int)pIVar40->columns" identifier < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "uVar18 = pIVar40->rows;" (assignment_expression "uVar18 = pIVar40->rows" identifier = (field_expression "pIVar40->rows" identifier -> field_identifier)) ;) (if_statement "if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }" if (parenthesized_expression "(pIVar40->previous == (_Image *)0x0)" ( (binary_expression "pIVar40->previous == (_Image *)0x0" (field_expression "pIVar40->previous" identifier -> field_identifier) == (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }" { (expression_statement "MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18);" (assignment_expression "MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18)" identifier = (call_expression "SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18)" identifier (argument_list "(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                (ulonglong)uVar18)" ( identifier , (string_literal ""Save/Image"" " string_content ") , (cast_expression "(MagickOffsetType)local_61e4" ( (type_descriptor "MagickOffsetType" type_identifier) ) identifier) , (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) )))) ;) (if_statement "if (MVar14 == MagickFalse) break;" if (parenthesized_expression "(MVar14 == MagickFalse)" ( (binary_expression "MVar14 == MagickFalse" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar18 = pIVar40->rows;" (assignment_expression "uVar18 = pIVar40->rows" identifier = (field_expression "pIVar40->rows" identifier -> field_identifier)) ;) })) (expression_statement "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);" (assignment_expression "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1)" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)((int)(Image *)local_6224 + 1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(Image *)local_6224 + 1)" ( (binary_expression "(int)(Image *)local_6224 + 1" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) (expression_statement "local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1);" (assignment_expression "local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1)" identifier = (cast_expression "(double)CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1)" identifier (argument_list "(local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4),\n                                                  (uint)local_61e4 + 1)" ( (binary_expression "local_61e4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61e4)" (field_expression "local_61e4._4_4_" identifier . field_identifier) + (call_expression "(uint)(0xfffffffe < (uint)local_61e4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < (uint)local_61e4)" ( (binary_expression "0xfffffffe < (uint)local_61e4" number_literal < (cast_expression "(uint)local_61e4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (binary_expression "(uint)local_61e4 + 1" (cast_expression "(uint)local_61e4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) ))))) ;) }) while (parenthesized_expression "((int)(Image *)local_6224 < (int)uVar18)" ( (binary_expression "(int)(Image *)local_6224 < (int)uVar18" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (goto_statement "goto LAB_002368f4;" goto statement_identifier ;)) })) (expression_statement "MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception);" (assignment_expression "MVar14 = InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception)" identifier = (call_expression "InjectImageBlob(image_info,pIVar40,pIVar40,pcVar23,exception)" identifier (argument_list "(image_info,pIVar40,pIVar40,pcVar23,exception)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (labeled_statement "joined_r0x002361ac:\n              if (MVar14 != MagickFalse) goto LAB_002361b2;" statement_identifier : (if_statement "if (MVar14 != MagickFalse) goto LAB_002361b2;" if (parenthesized_expression "(MVar14 != MagickFalse)" ( (binary_expression "MVar14 != MagickFalse" identifier != identifier) )) (goto_statement "goto LAB_002361b2;" goto statement_identifier ;))) (goto_statement "goto LAB_0023707e;" goto statement_identifier ;) })) (if_statement "if ((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))) {\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }\n            else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }" if (parenthesized_expression "((pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2))))" ( (binary_expression "(pIVar40->storage_class == DirectClass) ||\n               ((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))" (parenthesized_expression "(pIVar40->storage_class == DirectClass)" ( (binary_expression "pIVar40->storage_class == DirectClass" (field_expression "pIVar40->storage_class" identifier -> field_identifier) == identifier) )) || (parenthesized_expression "((0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)))" ( (parenthesized_expression "(0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2))" ( (binary_expression "0x100 < pIVar40->colors || (local_61b8 - JPEG2000Compression < 2)" (binary_expression "0x100 < pIVar40->colors" number_literal < (field_expression "pIVar40->colors" identifier -> field_identifier)) || (parenthesized_expression "(local_61b8 - JPEG2000Compression < 2)" ( (binary_expression "local_61b8 - JPEG2000Compression < 2" (binary_expression "local_61b8 - JPEG2000Compression" identifier - identifier) < number_literal) ))) )) ))) )) (compound_statement "{\n              if (local_61b8 == JPEGCompression) goto _L215;\n              if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }" { (if_statement "if (local_61b8 == JPEGCompression) goto _L215;" if (parenthesized_expression "(local_61b8 == JPEGCompression)" ( (binary_expression "local_61b8 == JPEGCompression" identifier == identifier) )) (goto_statement "goto _L215;" goto statement_identifier ;)) (if_statement "if (local_61b8 != NoCompression) {\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }" if (parenthesized_expression "(local_61b8 != NoCompression)" ( (binary_expression "local_61b8 != NoCompression" identifier != identifier) )) (compound_statement "{\n                if (local_61b8 == JPEG2000Compression) goto _L217;\n                sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;\n                local_6194 = AcquireVirtualMemory(sVar37,1);\n                if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }\n                if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                goto LAB_00237064;\n              }" { (if_statement "if (local_61b8 == JPEG2000Compression) goto _L217;" if (parenthesized_expression "(local_61b8 == JPEG2000Compression)" ( (binary_expression "local_61b8 == JPEG2000Compression" identifier == identifier) )) (goto_statement "goto _L217;" goto statement_identifier ;)) (expression_statement "sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18;" (assignment_expression "sVar37 = ((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18" identifier = (binary_expression "((pIVar40->colorspace == CMYKColorspace) + 3) * uVar18" (parenthesized_expression "((pIVar40->colorspace == CMYKColorspace) + 3)" ( (binary_expression "(pIVar40->colorspace == CMYKColorspace) + 3" (parenthesized_expression "(pIVar40->colorspace == CMYKColorspace)" ( (binary_expression "pIVar40->colorspace == CMYKColorspace" (field_expression "pIVar40->colorspace" identifier -> field_identifier) == identifier) )) + number_literal) )) * identifier)) ;) (expression_statement "local_6194 = AcquireVirtualMemory(sVar37,1);" (assignment_expression "local_6194 = AcquireVirtualMemory(sVar37,1)" identifier = (call_expression "AcquireVirtualMemory(sVar37,1)" identifier (argument_list "(sVar37,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_6194 == (MemoryInfo *)0x0) {\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }" if (parenthesized_expression "(local_6194 == (MemoryInfo *)0x0)" ( (binary_expression "local_6194 == (MemoryInfo *)0x0" identifier == (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  RelinquishMagickMemory(local_6200);\n                  ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                  p_Var8 = (_Image *)image_info->adjoin;\n                  pIVar15 = pIVar40;\n                  while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }\n                  goto LAB_00239234;\n                }" { (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);" (call_expression "ThrowMagickException\n                            (exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename)" identifier (argument_list "(exception,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,\n                             "MemoryAllocationFailed","`%s\'",pIVar40->filename)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , number_literal , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "pIVar40->filename" identifier -> field_identifier) ))) ;) (expression_statement "p_Var8 = (_Image *)image_info->adjoin;" (assignment_expression "p_Var8 = (_Image *)image_info->adjoin" identifier = (cast_expression "(_Image *)image_info->adjoin" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image_info->adjoin" identifier -> field_identifier))) ;) (expression_statement "pIVar15 = pIVar40;" (assignment_expression "pIVar15 = pIVar40" identifier = identifier) ;) (while_statement "while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }" while (parenthesized_expression "(pIVar20 = pIVar15, p_Var8 != (_Image *)0x0)" ( (comma_expression "pIVar20 = pIVar15, p_Var8 != (_Image *)0x0" (assignment_expression "pIVar20 = pIVar15" identifier = identifier) , (binary_expression "p_Var8 != (_Image *)0x0" identifier != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                    p_Var8 = pIVar20->previous;\n                    pIVar15 = p_Var8;\n                    pIVar40 = pIVar20;\n                  }" { (expression_statement "p_Var8 = pIVar20->previous;" (assignment_expression "p_Var8 = pIVar20->previous" identifier = (field_expression "pIVar20->previous" identifier -> field_identifier)) ;) (expression_statement "pIVar15 = p_Var8;" (assignment_expression "pIVar15 = p_Var8" identifier = identifier) ;) (expression_statement "pIVar40 = pIVar20;" (assignment_expression "pIVar40 = pIVar20" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (expression_statement "puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);" (assignment_expression "puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194)" identifier = (cast_expression "(uchar *)GetVirtualMemoryBlob(local_6194)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_6194)" identifier (argument_list "(local_6194)" ( identifier ))))) ;) (if_statement "if (0 < (int)pIVar40->rows) {\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }" if (parenthesized_expression "(0 < (int)pIVar40->rows)" ( (binary_expression "0 < (int)pIVar40->rows" number_literal < (cast_expression "(int)pIVar40->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->rows" identifier -> field_identifier))) )) (compound_statement "{\n                  local_61b4 = 0.0;\n                  local_6224._0_4_ = (Image *)0x0;\n                  puVar31 = puVar24;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);\n                }" { (expression_statement "local_61b4 = 0.0;" (assignment_expression "local_61b4 = 0.0" identifier = number_literal) ;) (expression_statement "local_6224._0_4_ = (Image *)0x0;" (assignment_expression "local_6224._0_4_ = (Image *)0x0" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar31 = puVar24;" (assignment_expression "puVar31 = puVar24" identifier = identifier) ;) (do_statement "do {\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  } while ((int)(Image *)local_6224 < (int)uVar18);" do (compound_statement "{\n                    pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }\n                    uVar18 = pIVar40->rows;\n                    if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);\n                  }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception)" identifier (argument_list "(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                               pIVar40->columns,1,exception)" ( identifier , number_literal , (cast_expression "(ssize_t)(Image *)local_6224" ( (type_descriptor "ssize_t" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (field_expression "pIVar40->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)pIVar40->columns) {\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }" if (parenthesized_expression "(0 < (int)pIVar40->columns)" ( (binary_expression "0 < (int)pIVar40->columns" number_literal < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) (compound_statement "{\n                      iVar16 = 0;\n                      puVar35 = puVar31;\n                      do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);\n                    }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "puVar35 = puVar31;" (assignment_expression "puVar35 = puVar31" identifier = identifier) ;) (do_statement "do {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      } while (iVar16 < (int)pIVar40->columns);" do (compound_statement "{\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar35 = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[1] = uVar13;\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar35[2] = uVar13;\n                        if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }\n                        iVar16 = iVar16 + 1;\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                        puVar35 = puVar31;\n                      }" { (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < pQVar25[pIVar40->channel_map->offset])" ( (binary_expression "0.0 < pQVar25[pIVar40->channel_map->offset]" number_literal < (subscript_expression "pQVar25[pIVar40->channel_map->offset]" identifier [ (field_expression "pIVar40->channel_map->offset" (field_expression "pIVar40->channel_map" identifier -> field_identifier) -> field_identifier) ])) )) (compound_statement "{\n                          dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar40->channel_map->offset]" identifier [ (field_expression "pIVar40->channel_map->offset" (field_expression "pIVar40->channel_map" identifier -> field_identifier) -> field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "*puVar35 = uVar13;" (assignment_expression "*puVar35 = uVar13" (pointer_expression "*puVar35" * identifier) = identifier) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < pQVar25[pIVar40->channel_map[1].offset])" ( (binary_expression "0.0 < pQVar25[pIVar40->channel_map[1].offset]" number_literal < (subscript_expression "pQVar25[pIVar40->channel_map[1].offset]" identifier [ (field_expression "pIVar40->channel_map[1].offset" (subscript_expression "pIVar40->channel_map[1]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) )) (compound_statement "{\n                          dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar40->channel_map[1].offset]" identifier [ (field_expression "pIVar40->channel_map[1].offset" (subscript_expression "pIVar40->channel_map[1]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "puVar35[1] = uVar13;" (assignment_expression "puVar35[1] = uVar13" (subscript_expression "puVar35[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < pQVar25[pIVar40->channel_map[2].offset])" ( (binary_expression "0.0 < pQVar25[pIVar40->channel_map[2].offset]" number_literal < (subscript_expression "pQVar25[pIVar40->channel_map[2].offset]" identifier [ (field_expression "pIVar40->channel_map[2].offset" (subscript_expression "pIVar40->channel_map[2]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) )) (compound_statement "{\n                          dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar40->channel_map[2].offset]" identifier [ (field_expression "pIVar40->channel_map[2].offset" (subscript_expression "pIVar40->channel_map[2]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "puVar35[2] = uVar13;" (assignment_expression "puVar35[2] = uVar13" (subscript_expression "puVar35[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pIVar40->colorspace == CMYKColorspace) {\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }\n                        else {\n                          puVar31 = puVar35 + 3;\n                        }" if (parenthesized_expression "(pIVar40->colorspace == CMYKColorspace)" ( (binary_expression "pIVar40->colorspace == CMYKColorspace" (field_expression "pIVar40->colorspace" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                          puVar31 = puVar35 + 4;\n                          uVar13 = '\0';\n                          if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar35[3] = uVar13;\n                        }" { (expression_statement "puVar31 = puVar35 + 4;" (assignment_expression "puVar31 = puVar35 + 4" identifier = (binary_expression "puVar35 + 4" identifier + number_literal)) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }" if (parenthesized_expression "((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset]))" ( (binary_expression "(pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                             (0.0 < pQVar25[pIVar40->channel_map[3].offset])" (parenthesized_expression "(pIVar40->channel_map[3].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar40->channel_map[3].traits != UndefinedPixelTrait" (field_expression "pIVar40->channel_map[3].traits" (subscript_expression "pIVar40->channel_map[3]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) && (parenthesized_expression "(0.0 < pQVar25[pIVar40->channel_map[3].offset])" ( (binary_expression "0.0 < pQVar25[pIVar40->channel_map[3].offset]" number_literal < (subscript_expression "pQVar25[pIVar40->channel_map[3].offset]" identifier [ (field_expression "pIVar40->channel_map[3].offset" (subscript_expression "pIVar40->channel_map[3]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) ))) )) (compound_statement "{\n                            dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                            uVar13 = 0xff;\n                            if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }\n                          }" { (expression_statement "dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar40->channel_map[3].offset]" identifier [ (field_expression "pIVar40->channel_map[3].offset" (subscript_expression "pIVar40->channel_map[3]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                              uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                            }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "puVar35[3] = uVar13;" (assignment_expression "puVar35[3] = uVar13" (subscript_expression "puVar35[3]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                          puVar31 = puVar35 + 3;\n                        }" else (compound_statement "{\n                          puVar31 = puVar35 + 3;\n                        }" { (expression_statement "puVar31 = puVar35 + 3;" (assignment_expression "puVar31 = puVar35 + 3" identifier = (binary_expression "puVar35 + 3" identifier + number_literal)) ;) }))) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "pQVar25 = pQVar25 + pIVar40->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar40->number_channels" identifier = (binary_expression "pQVar25 + pIVar40->number_channels" identifier + (field_expression "pIVar40->number_channels" identifier -> field_identifier))) ;) (expression_statement "puVar35 = puVar31;" (assignment_expression "puVar35 = puVar31" identifier = identifier) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar40->columns)" ( (binary_expression "iVar16 < (int)pIVar40->columns" identifier < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "uVar18 = pIVar40->rows;" (assignment_expression "uVar18 = pIVar40->rows" identifier = (field_expression "pIVar40->rows" identifier -> field_identifier)) ;) (if_statement "if (pIVar40->previous == (_Image *)0x0) {\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }" if (parenthesized_expression "(pIVar40->previous == (_Image *)0x0)" ( (binary_expression "pIVar40->previous == (_Image *)0x0" (field_expression "pIVar40->previous" identifier -> field_identifier) == (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);\n                      if (MVar14 == MagickFalse) break;\n                      uVar18 = pIVar40->rows;\n                    }" { (expression_statement "MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18);" (assignment_expression "MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18)" identifier = (call_expression "SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18)" identifier (argument_list "(pIVar40,"Save/Image",(MagickOffsetType)local_61b4,\n                                                (ulonglong)uVar18)" ( identifier , (string_literal ""Save/Image"" " string_content ") , (cast_expression "(MagickOffsetType)local_61b4" ( (type_descriptor "MagickOffsetType" type_identifier) ) identifier) , (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) )))) ;) (if_statement "if (MVar14 == MagickFalse) break;" if (parenthesized_expression "(MVar14 == MagickFalse)" ( (binary_expression "MVar14 == MagickFalse" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar18 = pIVar40->rows;" (assignment_expression "uVar18 = pIVar40->rows" identifier = (field_expression "pIVar40->rows" identifier -> field_identifier)) ;) })) (expression_statement "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);" (assignment_expression "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1)" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)((int)(Image *)local_6224 + 1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(Image *)local_6224 + 1)" ( (binary_expression "(int)(Image *)local_6224 + 1" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) (expression_statement "local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1);" (assignment_expression "local_61b4 = (double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1)" identifier = (cast_expression "(double)CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1)" identifier (argument_list "(local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4),\n                                                  (uint)local_61b4 + 1)" ( (binary_expression "local_61b4._4_4_ +\n                                                  (uint)(0xfffffffe < (uint)local_61b4)" (field_expression "local_61b4._4_4_" identifier . field_identifier) + (call_expression "(uint)(0xfffffffe < (uint)local_61b4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < (uint)local_61b4)" ( (binary_expression "0xfffffffe < (uint)local_61b4" number_literal < (cast_expression "(uint)local_61b4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (binary_expression "(uint)local_61b4 + 1" (cast_expression "(uint)local_61b4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) ))))) ;) }) while (parenthesized_expression "((int)(Image *)local_6224 < (int)uVar18)" ( (binary_expression "(int)(Image *)local_6224 < (int)uVar18" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (if_statement "if (local_61b8 == LZWCompression) {\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }\n                else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }" if (parenthesized_expression "(local_61b8 == LZWCompression)" ( (binary_expression "local_61b8 == LZWCompression" identifier == identifier) )) (compound_statement "{\n                  MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }" { (expression_statement "MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);" (assignment_expression "MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception)" identifier = (call_expression "LZWEncodeImage(pIVar40,sVar37,puVar24,exception)" identifier (argument_list "(pIVar40,sVar37,puVar24,exception)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }" else (compound_statement "{\n                  MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n                }" { (expression_statement "MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);" (assignment_expression "MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception)" identifier = (call_expression "PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception)" identifier (argument_list "(pIVar40,sVar37,puVar24,exception)" ( identifier , identifier , identifier , identifier )))) ;) }))) (goto_statement "goto LAB_00237064;" goto statement_identifier ;) })) (expression_statement "Ascii85Initialize(pIVar40);" (call_expression "Ascii85Initialize(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (if_statement "if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }" if (parenthesized_expression "(0 < (int)pIVar40->rows)" ( (binary_expression "0 < (int)pIVar40->rows" number_literal < (cast_expression "(int)pIVar40->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->rows" identifier -> field_identifier))) )) (compound_statement "{\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }" { (expression_statement "local_61e4 = 0.0;" (assignment_expression "local_61e4 = 0.0" identifier = number_literal) ;) (expression_statement "local_6224._0_4_ = (Image *)0x0;" (assignment_expression "local_6224._0_4_ = (Image *)0x0" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);" do (compound_statement "{\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception)" identifier (argument_list "(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception)" ( identifier , number_literal , (cast_expression "(ssize_t)(Image *)local_6224" ( (type_descriptor "ssize_t" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (field_expression "pIVar40->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }" if (parenthesized_expression "(0 < (int)pIVar40->columns)" ( (binary_expression "0 < (int)pIVar40->columns" number_literal < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) (compound_statement "{\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);" do (compound_statement "{\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      uVar13 = '\0';\n                      if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                      if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }\n                      iVar16 = iVar16 + 1;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    }" { (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar40->channel_map->offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "(0.0 < pQVar25[pIVar40->channel_map->offset])" ( (binary_expression "0.0 < pQVar25[pIVar40->channel_map->offset]" number_literal < (subscript_expression "pQVar25[pIVar40->channel_map->offset]" identifier [ (field_expression "pIVar40->channel_map->offset" (field_expression "pIVar40->channel_map" identifier -> field_identifier) -> field_identifier) ])) )) (compound_statement "{\n                        dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar40->channel_map->offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar40->channel_map->offset]" identifier [ (field_expression "pIVar40->channel_map->offset" (field_expression "pIVar40->channel_map" identifier -> field_identifier) -> field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar40->channel_map[1].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "(0.0 < pQVar25[pIVar40->channel_map[1].offset])" ( (binary_expression "0.0 < pQVar25[pIVar40->channel_map[1].offset]" number_literal < (subscript_expression "pQVar25[pIVar40->channel_map[1].offset]" identifier [ (field_expression "pIVar40->channel_map[1].offset" (subscript_expression "pIVar40->channel_map[1]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) )) (compound_statement "{\n                        dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar40->channel_map[1].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar40->channel_map[1].offset]" identifier [ (field_expression "pIVar40->channel_map[1].offset" (subscript_expression "pIVar40->channel_map[1]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar40->channel_map[2].offset]) {\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "(0.0 < pQVar25[pIVar40->channel_map[2].offset])" ( (binary_expression "0.0 < pQVar25[pIVar40->channel_map[2].offset]" number_literal < (subscript_expression "pQVar25[pIVar40->channel_map[2].offset]" identifier [ (field_expression "pIVar40->channel_map[2].offset" (subscript_expression "pIVar40->channel_map[2]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) )) (compound_statement "{\n                        dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar40->channel_map[2].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar40->channel_map[2].offset]" identifier [ (field_expression "pIVar40->channel_map[2].offset" (subscript_expression "pIVar40->channel_map[2]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (if_statement "if (pIVar40->colorspace == CMYKColorspace) {\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }" if (parenthesized_expression "(pIVar40->colorspace == CMYKColorspace)" ( (binary_expression "pIVar40->colorspace == CMYKColorspace" (field_expression "pIVar40->colorspace" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                        uVar13 = '\0';\n                        if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                        Ascii85Encode(pIVar40,uVar13);\n                      }" { (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if ((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])) {\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "((pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset]))" ( (binary_expression "(pIVar40->channel_map[3].traits != UndefinedPixelTrait) &&\n                           (0.0 < pQVar25[pIVar40->channel_map[3].offset])" (parenthesized_expression "(pIVar40->channel_map[3].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar40->channel_map[3].traits != UndefinedPixelTrait" (field_expression "pIVar40->channel_map[3].traits" (subscript_expression "pIVar40->channel_map[3]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) && (parenthesized_expression "(0.0 < pQVar25[pIVar40->channel_map[3].offset])" ( (binary_expression "0.0 < pQVar25[pIVar40->channel_map[3].offset]" number_literal < (subscript_expression "pQVar25[pIVar40->channel_map[3].offset]" identifier [ (field_expression "pIVar40->channel_map[3].offset" (subscript_expression "pIVar40->channel_map[3]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) ))) )) (compound_statement "{\n                          dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;\n                          uVar13 = 0xff;\n                          if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar40->channel_map[3].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar40->channel_map[3].offset]" identifier [ (field_expression "pIVar40->channel_map[3].offset" (subscript_expression "pIVar40->channel_map[3]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "pQVar25 = pQVar25 + pIVar40->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar40->number_channels" identifier = (binary_expression "pQVar25 + pIVar40->number_channels" identifier + (field_expression "pIVar40->number_channels" identifier -> field_identifier))) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar40->columns)" ( (binary_expression "iVar16 < (int)pIVar40->columns" identifier < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "uVar18 = pIVar40->rows;" (assignment_expression "uVar18 = pIVar40->rows" identifier = (field_expression "pIVar40->rows" identifier -> field_identifier)) ;) (if_statement "if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }" if (parenthesized_expression "(pIVar40->previous == (_Image *)0x0)" ( (binary_expression "pIVar40->previous == (_Image *)0x0" (field_expression "pIVar40->previous" identifier -> field_identifier) == (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }" { (expression_statement "MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);" (assignment_expression "MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18)" identifier = (call_expression "SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18)" identifier (argument_list "(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18)" ( identifier , (string_literal ""Save/Image"" " string_content ") , (cast_expression "(MagickOffsetType)local_61e4" ( (type_descriptor "MagickOffsetType" type_identifier) ) identifier) , (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) )))) ;) (if_statement "if (MVar14 == MagickFalse) break;" if (parenthesized_expression "(MVar14 == MagickFalse)" ( (binary_expression "MVar14 == MagickFalse" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar18 = pIVar40->rows;" (assignment_expression "uVar18 = pIVar40->rows" identifier = (field_expression "pIVar40->rows" identifier -> field_identifier)) ;) })) (expression_statement "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);" (assignment_expression "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1)" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)((int)(Image *)local_6224 + 1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(Image *)local_6224 + 1)" ( (binary_expression "(int)(Image *)local_6224 + 1" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) (expression_statement "local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);" (assignment_expression "local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1)" identifier = (cast_expression "(double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1)" identifier (argument_list "(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1)" ( (binary_expression "local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4)" (field_expression "local_61e4._4_4_" identifier . field_identifier) + (call_expression "(uint)(0xfffffffe < (uint)local_61e4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < (uint)local_61e4)" ( (binary_expression "0xfffffffe < (uint)local_61e4" number_literal < (cast_expression "(uint)local_61e4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (binary_expression "(uint)local_61e4 + 1" (cast_expression "(uint)local_61e4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) ))))) ;) }) while (parenthesized_expression "((int)(Image *)local_6224 < (int)uVar18)" ( (binary_expression "(int)(Image *)local_6224 < (int)uVar18" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) }) (else_clause "else {\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }" else (compound_statement "{\n              if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }\n            }" { (if_statement "if (local_61b8 != NoCompression) {\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }" if (parenthesized_expression "(local_61b8 != NoCompression)" ( (binary_expression "local_61b8 != NoCompression" identifier != identifier) )) (compound_statement "{\n                local_6194 = AcquireVirtualMemory(uVar18,1);\n                if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n                if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }\n                goto LAB_00239234;\n              }" { (expression_statement "local_6194 = AcquireVirtualMemory(uVar18,1);" (assignment_expression "local_6194 = AcquireVirtualMemory(uVar18,1)" identifier = (call_expression "AcquireVirtualMemory(uVar18,1)" identifier (argument_list "(uVar18,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_6194 != (MemoryInfo *)0x0) {\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }" if (parenthesized_expression "(local_6194 != (MemoryInfo *)0x0)" ( (binary_expression "local_6194 != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }\n                  goto LAB_00237039;\n                }" { (expression_statement "puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194);" (assignment_expression "puVar24 = (uchar *)GetVirtualMemoryBlob(local_6194)" identifier = (cast_expression "(uchar *)GetVirtualMemoryBlob(local_6194)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_6194)" identifier (argument_list "(local_6194)" ( identifier ))))) ;) (if_statement "if (0 < (int)pIVar40->rows) {\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }" if (parenthesized_expression "(0 < (int)pIVar40->rows)" ( (binary_expression "0 < (int)pIVar40->rows" number_literal < (cast_expression "(int)pIVar40->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->rows" identifier -> field_identifier))) )) (compound_statement "{\n                    local_61e4 = 0.0;\n                    local_6224._0_4_ = (Image *)0x0;\n                    puVar31 = puVar24;\n                    do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);\n                  }" { (expression_statement "local_61e4 = 0.0;" (assignment_expression "local_61e4 = 0.0" identifier = number_literal) ;) (expression_statement "local_6224._0_4_ = (Image *)0x0;" (assignment_expression "local_6224._0_4_ = (Image *)0x0" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar31 = puVar24;" (assignment_expression "puVar31 = puVar24" identifier = identifier) ;) (do_statement "do {\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    } while ((int)(Image *)local_6224 < (int)uVar27);" do (compound_statement "{\n                      pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);\n                      if (pQVar25 == (Quantum *)0x0) break;\n                      puVar35 = puVar31;\n                      puVar34 = puVar31;\n                      if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }\n                      uVar27 = pIVar40->rows;\n                      if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }\n                      local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                      local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);\n                      puVar31 = puVar34;\n                    }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception)" identifier (argument_list "(pIVar40,0,(ssize_t)(Image *)local_6224,\n                                                 pIVar40->columns,1,exception)" ( identifier , number_literal , (cast_expression "(ssize_t)(Image *)local_6224" ( (type_descriptor "ssize_t" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (field_expression "pIVar40->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "puVar35 = puVar31;" (assignment_expression "puVar35 = puVar31" identifier = identifier) ;) (expression_statement "puVar34 = puVar31;" (assignment_expression "puVar34 = puVar31" identifier = identifier) ;) (if_statement "if (0 < (int)pIVar40->columns) {\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }" if (parenthesized_expression "(0 < (int)pIVar40->columns)" ( (binary_expression "0 < (int)pIVar40->columns" number_literal < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) (compound_statement "{\n                        do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                      }" { (do_statement "do {\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);" do (compound_statement "{\n                          uVar13 = '\0';\n                          if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }\n                          puVar34 = puVar35 + 1;\n                          *puVar35 = uVar13;\n                          pQVar25 = pQVar25 + pIVar40->number_channels;\n                          puVar35 = puVar34;\n                        }" { (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }" if (parenthesized_expression "(pIVar40->channel_map[5].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar40->channel_map[5].traits != UndefinedPixelTrait" (field_expression "pIVar40->channel_map[5].traits" (subscript_expression "pIVar40->channel_map[5]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                            uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                          }" { (expression_statement "uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);" (assignment_expression "uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset])" identifier = (cast_expression "(uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset])" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(int)ROUND(pQVar25[pIVar40->channel_map[5].offset])" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(pQVar25[pIVar40->channel_map[5].offset])" identifier (argument_list "(pQVar25[pIVar40->channel_map[5].offset])" ( (subscript_expression "pQVar25[pIVar40->channel_map[5].offset]" identifier [ (field_expression "pIVar40->channel_map[5].offset" (subscript_expression "pIVar40->channel_map[5]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) )))))) ;) })) (expression_statement "puVar34 = puVar35 + 1;" (assignment_expression "puVar34 = puVar35 + 1" identifier = (binary_expression "puVar35 + 1" identifier + number_literal)) ;) (expression_statement "*puVar35 = uVar13;" (assignment_expression "*puVar35 = uVar13" (pointer_expression "*puVar35" * identifier) = identifier) ;) (expression_statement "pQVar25 = pQVar25 + pIVar40->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar40->number_channels" identifier = (binary_expression "pQVar25 + pIVar40->number_channels" identifier + (field_expression "pIVar40->number_channels" identifier -> field_identifier))) ;) (expression_statement "puVar35 = puVar34;" (assignment_expression "puVar35 = puVar34" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar34 - (int)puVar31 < (int)pIVar40->columns)" ( (binary_expression "(int)puVar34 - (int)puVar31 < (int)pIVar40->columns" (binary_expression "(int)puVar34 - (int)puVar31" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar31" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "uVar27 = pIVar40->rows;" (assignment_expression "uVar27 = pIVar40->rows" identifier = (field_expression "pIVar40->rows" identifier -> field_identifier)) ;) (if_statement "if (pIVar40->previous == (_Image *)0x0) {\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }" if (parenthesized_expression "(pIVar40->previous == (_Image *)0x0)" ( (binary_expression "pIVar40->previous == (_Image *)0x0" (field_expression "pIVar40->previous" identifier -> field_identifier) == (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                        MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);\n                        if (MVar14 == MagickFalse) break;\n                        uVar27 = pIVar40->rows;\n                      }" { (expression_statement "MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27);" (assignment_expression "MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27)" identifier = (call_expression "SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27)" identifier (argument_list "(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                                  (ulonglong)uVar27)" ( identifier , (string_literal ""Save/Image"" " string_content ") , (cast_expression "(MagickOffsetType)local_61e4" ( (type_descriptor "MagickOffsetType" type_identifier) ) identifier) , (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) )))) ;) (if_statement "if (MVar14 == MagickFalse) break;" if (parenthesized_expression "(MVar14 == MagickFalse)" ( (binary_expression "MVar14 == MagickFalse" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar27 = pIVar40->rows;" (assignment_expression "uVar27 = pIVar40->rows" identifier = (field_expression "pIVar40->rows" identifier -> field_identifier)) ;) })) (expression_statement "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);" (assignment_expression "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1)" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)((int)(Image *)local_6224 + 1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(Image *)local_6224 + 1)" ( (binary_expression "(int)(Image *)local_6224 + 1" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) (expression_statement "local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1);" (assignment_expression "local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1)" identifier = (cast_expression "(double)CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1)" identifier (argument_list "(local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4),\n                                                    (uint)local_61e4 + 1)" ( (binary_expression "local_61e4._4_4_ +\n                                                    (uint)(0xfffffffe < (uint)local_61e4)" (field_expression "local_61e4._4_4_" identifier . field_identifier) + (call_expression "(uint)(0xfffffffe < (uint)local_61e4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < (uint)local_61e4)" ( (binary_expression "0xfffffffe < (uint)local_61e4" number_literal < (cast_expression "(uint)local_61e4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (binary_expression "(uint)local_61e4 + 1" (cast_expression "(uint)local_61e4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar31 = puVar34;" (assignment_expression "puVar31 = puVar34" identifier = identifier) ;) }) while (parenthesized_expression "((int)(Image *)local_6224 < (int)uVar27)" ( (binary_expression "(int)(Image *)local_6224 < (int)uVar27" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (goto_statement "goto LAB_00237039;" goto statement_identifier ;) })) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);" (call_expression "ThrowMagickException\n                          (exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename)" identifier (argument_list "(exception,"coders/pdf.c","WritePDFImage",0x860,ErrorException,\n                           "MemoryAllocationFailed","`%s\'",pIVar40->filename)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , number_literal , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "pIVar40->filename" identifier -> field_identifier) ))) ;) (if_statement "if (image_info->adjoin != MagickFalse) {\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }" if (parenthesized_expression "(image_info->adjoin != MagickFalse)" ( (binary_expression "image_info->adjoin != MagickFalse" (field_expression "image_info->adjoin" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                  pIVar15 = pIVar40->previous;\n                  while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }\n                }" { (expression_statement "pIVar15 = pIVar40->previous;" (assignment_expression "pIVar15 = pIVar40->previous" identifier = (field_expression "pIVar40->previous" identifier -> field_identifier)) ;) (while_statement "while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }" while (parenthesized_expression "(pIVar20 = pIVar15, pIVar20 != (Image *)0x0)" ( (comma_expression "pIVar20 = pIVar15, pIVar20 != (Image *)0x0" (assignment_expression "pIVar20 = pIVar15" identifier = identifier) , (binary_expression "pIVar20 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                    pIVar40 = pIVar20;\n                    pIVar15 = pIVar20->previous;\n                  }" { (expression_statement "pIVar40 = pIVar20;" (assignment_expression "pIVar40 = pIVar20" identifier = identifier) ;) (expression_statement "pIVar15 = pIVar20->previous;" (assignment_expression "pIVar15 = pIVar20->previous" identifier = (field_expression "pIVar20->previous" identifier -> field_identifier)) ;) })) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (expression_statement "Ascii85Initialize(pIVar40);" (call_expression "Ascii85Initialize(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (if_statement "if (0 < (int)pIVar40->rows) {\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }" if (parenthesized_expression "(0 < (int)pIVar40->rows)" ( (binary_expression "0 < (int)pIVar40->rows" number_literal < (cast_expression "(int)pIVar40->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->rows" identifier -> field_identifier))) )) (compound_statement "{\n                local_61e4 = 0.0;\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);\n              }" { (expression_statement "local_61e4 = 0.0;" (assignment_expression "local_61e4 = 0.0" identifier = number_literal) ;) (expression_statement "local_6224._0_4_ = (Image *)0x0;" (assignment_expression "local_6224._0_4_ = (Image *)0x0" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                } while ((int)(Image *)local_6224 < (int)uVar18);" do (compound_statement "{\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  uVar18 = pIVar40->rows;\n                  if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);\n                }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception)" identifier (argument_list "(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception)" ( identifier , number_literal , (cast_expression "(ssize_t)(Image *)local_6224" ( (type_descriptor "ssize_t" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (field_expression "pIVar40->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }" if (parenthesized_expression "(0 < (int)pIVar40->columns)" ( (binary_expression "0 < (int)pIVar40->columns" number_literal < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) (compound_statement "{\n                    iVar16 = 0;\n                    do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);" do (compound_statement "{\n                      uVar13 = '\0';\n                      if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    }" { (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (pIVar40->channel_map[5].traits != UndefinedPixelTrait) {\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }" if (parenthesized_expression "(pIVar40->channel_map[5].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar40->channel_map[5].traits != UndefinedPixelTrait" (field_expression "pIVar40->channel_map[5].traits" (subscript_expression "pIVar40->channel_map[5]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                        uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);\n                      }" { (expression_statement "uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset]);" (assignment_expression "uVar13 = (uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset])" identifier = (cast_expression "(uchar)(int)ROUND(pQVar25[pIVar40->channel_map[5].offset])" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(int)ROUND(pQVar25[pIVar40->channel_map[5].offset])" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(pQVar25[pIVar40->channel_map[5].offset])" identifier (argument_list "(pQVar25[pIVar40->channel_map[5].offset])" ( (subscript_expression "pQVar25[pIVar40->channel_map[5].offset]" identifier [ (field_expression "pIVar40->channel_map[5].offset" (subscript_expression "pIVar40->channel_map[5]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) )))))) ;) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "pQVar25 = pQVar25 + pIVar40->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar40->number_channels" identifier = (binary_expression "pQVar25 + pIVar40->number_channels" identifier + (field_expression "pIVar40->number_channels" identifier -> field_identifier))) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar40->columns)" ( (binary_expression "iVar16 < (int)pIVar40->columns" identifier < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "uVar18 = pIVar40->rows;" (assignment_expression "uVar18 = pIVar40->rows" identifier = (field_expression "pIVar40->rows" identifier -> field_identifier)) ;) (if_statement "if (pIVar40->previous == (_Image *)0x0) {\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }" if (parenthesized_expression "(pIVar40->previous == (_Image *)0x0)" ( (binary_expression "pIVar40->previous == (_Image *)0x0" (field_expression "pIVar40->previous" identifier -> field_identifier) == (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);\n                    if (MVar14 == MagickFalse) break;\n                    uVar18 = pIVar40->rows;\n                  }" { (expression_statement "MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18);" (assignment_expression "MVar14 = SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18)" identifier = (call_expression "SetImageProgress(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18)" identifier (argument_list "(pIVar40,"Save/Image",(MagickOffsetType)local_61e4,\n                                              (ulonglong)uVar18)" ( identifier , (string_literal ""Save/Image"" " string_content ") , (cast_expression "(MagickOffsetType)local_61e4" ( (type_descriptor "MagickOffsetType" type_identifier) ) identifier) , (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) )))) ;) (if_statement "if (MVar14 == MagickFalse) break;" if (parenthesized_expression "(MVar14 == MagickFalse)" ( (binary_expression "MVar14 == MagickFalse" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar18 = pIVar40->rows;" (assignment_expression "uVar18 = pIVar40->rows" identifier = (field_expression "pIVar40->rows" identifier -> field_identifier)) ;) })) (expression_statement "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);" (assignment_expression "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1)" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)((int)(Image *)local_6224 + 1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(Image *)local_6224 + 1)" ( (binary_expression "(int)(Image *)local_6224 + 1" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) (expression_statement "local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1);" (assignment_expression "local_61e4 = (double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1)" identifier = (cast_expression "(double)CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1)" identifier (argument_list "(local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4),\n                                                (uint)local_61e4 + 1)" ( (binary_expression "local_61e4._4_4_ +\n                                                (uint)(0xfffffffe < (uint)local_61e4)" (field_expression "local_61e4._4_4_" identifier . field_identifier) + (call_expression "(uint)(0xfffffffe < (uint)local_61e4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < (uint)local_61e4)" ( (binary_expression "0xfffffffe < (uint)local_61e4" number_literal < (cast_expression "(uint)local_61e4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) , (binary_expression "(uint)local_61e4 + 1" (cast_expression "(uint)local_61e4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) ))))) ;) }) while (parenthesized_expression "((int)(Image *)local_6224 < (int)uVar18)" ( (binary_expression "(int)(Image *)local_6224 < (int)uVar18" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) }))) (labeled_statement "LAB_002368f4:\n            Ascii85Flush(pIVar40);" statement_identifier : (expression_statement "Ascii85Flush(pIVar40);" (call_expression "Ascii85Flush(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;)) (goto_statement "goto LAB_002361b2;" goto statement_identifier ;) })) (labeled_statement "_L184:\n          iVar16 = LocaleCompare("0","0");" statement_identifier : (expression_statement "iVar16 = LocaleCompare("0","0");" (assignment_expression "iVar16 = LocaleCompare("0","0")" identifier = (call_expression "LocaleCompare("0","0")" identifier (argument_list "("0","0")" ( (string_literal ""0"" " string_content ") , (string_literal ""0"" " string_content ") )))) ;)) (if_statement "if (iVar16 == 0) {\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }\n          else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n            HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }" { (expression_statement "HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception);" (call_expression "HuffmanEncodeImage(image_info,pIVar40,pIVar40,exception)" identifier (argument_list "(image_info,pIVar40,pIVar40,exception)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }" else (compound_statement "{\n            Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);\n          }" { (expression_statement "Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception);" (call_expression "Huffman2DEncodeImage(image_info,pIVar40,pIVar40,exception)" identifier (argument_list "(image_info,pIVar40,pIVar40,exception)" ( identifier , identifier , identifier , identifier ))) ;) }))) (labeled_statement "LAB_002361b2:\n          MVar43 = TellBlob(pIVar40);" statement_identifier : (expression_statement "MVar43 = TellBlob(pIVar40);" (assignment_expression "MVar43 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;)) (expression_statement "WriteBlobString(pIVar40,"\nendstream\n");" (call_expression "WriteBlobString(pIVar40,"\nendstream\n")" identifier (argument_list "(pIVar40,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar44 = TellBlob(pIVar40);" (assignment_expression "MVar44 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44;" (assignment_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc) = MVar44" (pointer_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc)" * (cast_expression "(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xc)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + (uint)local_61f4 * 2 + 0xc)" ( (binary_expression "local_6200 + (uint)local_61f4 * 2 + 0xc" (binary_expression "local_6200 + (uint)local_61f4 * 2" identifier + (binary_expression "(uint)local_61f4 * 2" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "local_61c4 = (ulonglong)((uint)local_61f4 + 7);" (assignment_expression "local_61c4 = (ulonglong)((uint)local_61f4 + 7)" identifier = (call_expression "(ulonglong)((uint)local_61f4 + 7)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((uint)local_61f4 + 7)" ( (binary_expression "(uint)local_61f4 + 7" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)local_61c4,0)" identifier (argument_list "((double)local_61c4,0)" ( (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_61c4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_61c4 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_61c4 >> 0x20" (cast_expression "(ulonglong)(double)local_61c4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                             (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(MVar43 - MVar42),0)" identifier (argument_list "((double)(MVar43 - MVar42),0)" ( (cast_expression "(double)(MVar43 - MVar42)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(MVar43 - MVar42)" ( (binary_expression "MVar43 - MVar42" identifier - identifier) ))) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(MVar43 - MVar42) >> 0x20)" ( (binary_expression "(ulonglong)(double)(MVar43 - MVar42) >> 0x20" (call_expression "(ulonglong)(double)(MVar43 - MVar42)" (call_expression "(ulonglong)(double)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(double)" ( identifier ))) (argument_list "(MVar43 - MVar42)" ( (binary_expression "MVar43 - MVar42" identifier - identifier) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar18 = (uint)local_61f4 + 8;" (assignment_expression "uVar18 = (uint)local_61f4 + 8" identifier = (binary_expression "(uint)local_61f4 + 8" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal)) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe)" * (cast_expression "(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0xe)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + (uint)local_61f4 * 2 + 0xe)" ( (binary_expression "local_6200 + (uint)local_61f4 * 2 + 0xe" (binary_expression "local_6200 + (uint)local_61f4 * 2" identifier + (binary_expression "(uint)local_61f4 * 2" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "local_61c4 = (ulonglong)uVar18;" (assignment_expression "local_61c4 = (ulonglong)uVar18" identifier = (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "dVar1 = (double)local_61c4;" (assignment_expression "dVar1 = (double)local_61c4" identifier = (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1,0)" identifier (argument_list "(dVar1,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar1 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar1 >> 0x20)" ( (binary_expression "(ulonglong)dVar1 >> 0x20" (cast_expression "(ulonglong)dVar1" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (if_statement "if (pIVar40->colorspace == CMYKColorspace) {\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }\n          else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }" if (parenthesized_expression "(pIVar40->colorspace == CMYKColorspace)" ( (binary_expression "pIVar40->colorspace == CMYKColorspace" (field_expression "pIVar40->colorspace" identifier -> field_identifier) == identifier) )) (compound_statement "{\n            if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar23 = "DeviceCMYK";\nLAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);\nLAB_00236346:\n            WriteBlobString(pIVar40,buffer);\n          }" { (if_statement "if (pSVar17 != (StringInfo *)0x0) {\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }" if (parenthesized_expression "(pSVar17 != (StringInfo *)0x0)" ( (binary_expression "pSVar17 != (StringInfo *)0x0" identifier != (cast_expression "(StringInfo *)0x0" ( (type_descriptor "StringInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_61b4._0_4_ = 4;\n              pcVar23 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }" { (expression_statement "local_61b4._0_4_ = 4;" (assignment_expression "local_61b4._0_4_ = 4" (field_expression "local_61b4._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "pcVar23 = "DeviceCMYK";" (assignment_expression "pcVar23 = "DeviceCMYK"" identifier = (string_literal ""DeviceCMYK"" " string_content ")) ;) (goto_statement "goto LAB_0023814a;" goto statement_identifier ;) })) (expression_statement "pcVar23 = "DeviceCMYK";" (assignment_expression "pcVar23 = "DeviceCMYK"" identifier = (string_literal ""DeviceCMYK"" " string_content ")) ;) (labeled_statement "LAB_0023632d:\n            FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);" statement_identifier : (expression_statement "FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23);" (call_expression "FormatLocaleString(buffer,0x1000,"/%s\n",pcVar23)" identifier (argument_list "(buffer,0x1000,"/%s\n",pcVar23)" ( identifier , number_literal , (string_literal ""/%s\n"" " string_content escape_sequence ") , identifier ))) ;)) (labeled_statement "LAB_00236346:\n            WriteBlobString(pIVar40,buffer);" statement_identifier : (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }" else (compound_statement "{\n            if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"endobj\n");\n            MVar42 = TellBlob(pIVar40);\n            *(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;\n            local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);\n            dVar1 = (double)(longlong)local_61e4;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;\n            WriteBlobString(pIVar40,buffer);\n            MVar42 = TellBlob(pIVar40);\n            Ascii85Initialize(pIVar40);\n            puVar24 = GetStringInfoDatum(pSVar17);\n            for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }\n            Ascii85Flush(pIVar40);\n            MVar43 = TellBlob(pIVar40);\n            WriteBlobString(pIVar40,"endstream\n");\n            WriteBlobString(pIVar40,"endobj\n");\n            uVar18 = (uint)local_61f4 + 10;\n            iVar16 = (uint)local_61f4 * 2;\n            MVar44 = TellBlob(pIVar40);\n            local_61f4 = (ulonglong)uVar18;\n            *(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;\n            FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n          }" { (if_statement "if ((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))) {\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }\n            else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }" if (parenthesized_expression "((local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse))))" ( (binary_expression "(local_61a4 < B44Compression) ||\n               ((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))" (parenthesized_expression "(local_61a4 < B44Compression)" ( (binary_expression "local_61a4 < B44Compression" identifier < identifier) )) || (parenthesized_expression "((image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)))" ( (parenthesized_expression "(image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse))" ( (binary_expression "image_info->type != TrueColorType &&\n                (MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)" (binary_expression "image_info->type != TrueColorType" (field_expression "image_info->type" identifier -> field_identifier) != identifier) && (parenthesized_expression "(MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse)" ( (comma_expression "MVar14 = SetImageGray(pIVar40,exception), MVar14 != MagickFalse" (assignment_expression "MVar14 = SetImageGray(pIVar40,exception)" identifier = (call_expression "SetImageGray(pIVar40,exception)" identifier (argument_list "(pIVar40,exception)" ( identifier , identifier )))) , (binary_expression "MVar14 != MagickFalse" identifier != identifier)) ))) )) ))) )) (compound_statement "{\n              pcVar23 = "DeviceGray";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 1;\n              pcVar23 = "DeviceGray";\n            }" { (expression_statement "pcVar23 = "DeviceGray";" (assignment_expression "pcVar23 = "DeviceGray"" identifier = (string_literal ""DeviceGray"" " string_content ")) ;) (if_statement "if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;" if (parenthesized_expression "(pSVar17 == (StringInfo *)0x0)" ( (binary_expression "pSVar17 == (StringInfo *)0x0" identifier == (cast_expression "(StringInfo *)0x0" ( (type_descriptor "StringInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0023632d;" goto statement_identifier ;)) (expression_statement "local_61b4._0_4_ = 1;" (assignment_expression "local_61b4._0_4_ = 1" (field_expression "local_61b4._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "pcVar23 = "DeviceGray";" (assignment_expression "pcVar23 = "DeviceGray"" identifier = (string_literal ""DeviceGray"" " string_content ")) ;) }) (else_clause "else if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }" else (if_statement "if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)) {\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }\n            else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }" if (parenthesized_expression "(((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2))" ( (binary_expression "((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n                    (local_61b8 - JPEG2000Compression < 2)" (parenthesized_expression "((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors))" ( (binary_expression "(pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)" (parenthesized_expression "(pIVar40->storage_class == DirectClass)" ( (binary_expression "pIVar40->storage_class == DirectClass" (field_expression "pIVar40->storage_class" identifier -> field_identifier) == identifier) )) || (parenthesized_expression "(0x100 < pIVar40->colors)" ( (binary_expression "0x100 < pIVar40->colors" number_literal < (field_expression "pIVar40->colors" identifier -> field_identifier)) ))) )) || (parenthesized_expression "(local_61b8 - JPEG2000Compression < 2)" ( (binary_expression "local_61b8 - JPEG2000Compression < 2" (binary_expression "local_61b8 - JPEG2000Compression" identifier - identifier) < number_literal) ))) )) (compound_statement "{\n              pcVar23 = "DeviceRGB";\n              if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;\n              local_61b4._0_4_ = 3;\n            }" { (expression_statement "pcVar23 = "DeviceRGB";" (assignment_expression "pcVar23 = "DeviceRGB"" identifier = (string_literal ""DeviceRGB"" " string_content ")) ;) (if_statement "if (pSVar17 == (StringInfo *)0x0) goto LAB_0023632d;" if (parenthesized_expression "(pSVar17 == (StringInfo *)0x0)" ( (binary_expression "pSVar17 == (StringInfo *)0x0" identifier == (cast_expression "(StringInfo *)0x0" ( (type_descriptor "StringInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0023632d;" goto statement_identifier ;)) (expression_statement "local_61b4._0_4_ = 3;" (assignment_expression "local_61b4._0_4_ = 3" (field_expression "local_61b4._0_4_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }" else (compound_statement "{\n              if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }\n              local_61b4._0_4_ = 0;\n              pcVar23 = "DeviceRGB";\n            }" { (if_statement "if (pSVar17 == (StringInfo *)0x0) {\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }" if (parenthesized_expression "(pSVar17 == (StringInfo *)0x0)" ( (binary_expression "pSVar17 == (StringInfo *)0x0" identifier == (cast_expression "(StringInfo *)0x0" ( (type_descriptor "StringInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);\n                FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));\n                goto LAB_00236346;\n              }" { (expression_statement "dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718);" (assignment_expression "dVar49 = (double)((float)(int)pIVar40->colors - DAT_0029f718)" identifier = (cast_expression "(double)((float)(int)pIVar40->colors - DAT_0029f718)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(int)pIVar40->colors - DAT_0029f718)" ( (binary_expression "(float)(int)pIVar40->colors - DAT_0029f718" (cast_expression "(float)(int)pIVar40->colors" ( (type_descriptor "float" primitive_type) ) (cast_expression "(int)pIVar40->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->colors" identifier -> field_identifier))) - identifier) )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20))" identifier (argument_list "(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",\n                                   SUB84(dVar49,0),(int)((ulonglong)dVar49 >> 0x20),\n                                   SUB84(dVar1 + (double)DAT_002a9b78,0),\n                                   (int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20))" ( identifier , number_literal , (string_literal ""[ /Indexed /%s %.20g %.20g 0 R ]\n"" " string_content escape_sequence ") , (string_literal ""DeviceRGB"" " string_content ") , (call_expression "SUB84(dVar49,0)" identifier (argument_list "(dVar49,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar49 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar49 >> 0x20)" ( (binary_expression "(ulonglong)dVar49 >> 0x20" (cast_expression "(ulonglong)dVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar1 + (double)DAT_002a9b78,0)" identifier (argument_list "(dVar1 + (double)DAT_002a9b78,0)" ( (binary_expression "dVar1 + (double)DAT_002a9b78" identifier + (cast_expression "(double)DAT_002a9b78" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20)" ( (binary_expression "(ulonglong)(dVar1 + (double)DAT_002a9b78) >> 0x20" (call_expression "(ulonglong)(dVar1 + (double)DAT_002a9b78)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar1 + (double)DAT_002a9b78)" ( (binary_expression "dVar1 + (double)DAT_002a9b78" identifier + (cast_expression "(double)DAT_002a9b78" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (goto_statement "goto LAB_00236346;" goto statement_identifier ;) })) (expression_statement "local_61b4._0_4_ = 0;" (assignment_expression "local_61b4._0_4_ = 0" (field_expression "local_61b4._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "pcVar23 = "DeviceRGB";" (assignment_expression "pcVar23 = "DeviceRGB"" identifier = (string_literal ""DeviceRGB"" " string_content ")) ;) }))))) (labeled_statement "LAB_0023814a:\n            FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));" statement_identifier : (expression_statement "FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20))" identifier (argument_list "(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",SUB84(dVar1 + 1.0,0),\n                               (int)((ulonglong)(dVar1 + 1.0) >> 0x20))" ( identifier , number_literal , (string_literal ""[/ICCBased %.20g 0 R]\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1 + 1.0,0)" identifier (argument_list "(dVar1 + 1.0,0)" ( (binary_expression "dVar1 + 1.0" identifier + number_literal) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar1 + 1.0) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar1 + 1.0) >> 0x20)" ( (binary_expression "(ulonglong)(dVar1 + 1.0) >> 0x20" (call_expression "(ulonglong)(dVar1 + 1.0)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar1 + 1.0)" ( (binary_expression "dVar1 + 1.0" identifier + number_literal) ))) >> number_literal) ))) ))) ;)) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10)" * (cast_expression "(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2 + 0x10)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + (uint)local_61f4 * 2 + 0x10)" ( (binary_expression "local_6200 + (uint)local_61f4 * 2 + 0x10" (binary_expression "local_6200 + (uint)local_61f4 * 2" identifier + (binary_expression "(uint)local_61f4 * 2" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9);" (assignment_expression "local_61e4 = (double)(ulonglong)((uint)local_61f4 + 9)" identifier = (cast_expression "(double)(ulonglong)((uint)local_61f4 + 9)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ulonglong)((uint)local_61f4 + 9)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((uint)local_61f4 + 9)" ( (binary_expression "(uint)local_61f4 + 9" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar1 = (double)(longlong)local_61e4;" (assignment_expression "dVar1 = (double)(longlong)local_61e4" identifier = (cast_expression "(double)(longlong)local_61e4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61e4" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                               (int)((ulonglong)dVar1 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1,0)" identifier (argument_list "(dVar1,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar1 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar1 >> 0x20)" ( (binary_expression "(ulonglong)dVar1 >> 0x20" (cast_expression "(ulonglong)dVar1" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)\n            ;" (call_expression "FormatLocaleString(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)" identifier (argument_list "(buffer,0x1000,\n                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"\n                               ,SUB84((double)(uint)local_61b4,0),\n                               (int)((ulonglong)(double)(uint)local_61b4 >> 0x20),\n                               SUB84(dVar1 + 1.0,0),(int)((ulonglong)(dVar1 + 1.0) >> 0x20),pcVar23)" ( identifier , number_literal , (string_literal ""<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (call_expression "SUB84((double)(uint)local_61b4,0)" identifier (argument_list "((double)(uint)local_61b4,0)" ( (cast_expression "(double)(uint)local_61b4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(uint)local_61b4" ( (type_descriptor "uint" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(uint)local_61b4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(uint)local_61b4 >> 0x20)" ( (binary_expression "(ulonglong)(double)(uint)local_61b4 >> 0x20" (cast_expression "(ulonglong)(double)(uint)local_61b4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(uint)local_61b4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(uint)local_61b4" ( (type_descriptor "uint" type_identifier) ) identifier))) >> number_literal) ))) , (call_expression "SUB84(dVar1 + 1.0,0)" identifier (argument_list "(dVar1 + 1.0,0)" ( (binary_expression "dVar1 + 1.0" identifier + number_literal) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar1 + 1.0) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar1 + 1.0) >> 0x20)" ( (binary_expression "(ulonglong)(dVar1 + 1.0) >> 0x20" (call_expression "(ulonglong)(dVar1 + 1.0)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar1 + 1.0)" ( (binary_expression "dVar1 + 1.0" identifier + number_literal) ))) >> number_literal) ))) , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "Ascii85Initialize(pIVar40);" (call_expression "Ascii85Initialize(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (expression_statement "puVar24 = GetStringInfoDatum(pSVar17);" (assignment_expression "puVar24 = GetStringInfoDatum(pSVar17)" identifier = (call_expression "GetStringInfoDatum(pSVar17)" identifier (argument_list "(pSVar17)" ( identifier )))) ;) (for_statement "for (iVar16 = 0; sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37;\n                iVar16 = iVar16 + 1) {\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }" for ( (assignment_expression "iVar16 = 0" identifier = number_literal) ; (comma_expression "sVar37 = GetStringInfoLength(pSVar17), iVar16 < (int)sVar37" (assignment_expression "sVar37 = GetStringInfoLength(pSVar17)" identifier = (call_expression "GetStringInfoLength(pSVar17)" identifier (argument_list "(pSVar17)" ( identifier )))) , (binary_expression "iVar16 < (int)sVar37" identifier < (cast_expression "(int)sVar37" ( (type_descriptor "int" primitive_type) ) identifier))) ; (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ) (compound_statement "{\n              Ascii85Encode(pIVar40,puVar24[iVar16]);\n            }" { (expression_statement "Ascii85Encode(pIVar40,puVar24[iVar16]);" (call_expression "Ascii85Encode(pIVar40,puVar24[iVar16])" identifier (argument_list "(pIVar40,puVar24[iVar16])" ( identifier , (subscript_expression "puVar24[iVar16]" identifier [ identifier ]) ))) ;) })) (expression_statement "Ascii85Flush(pIVar40);" (call_expression "Ascii85Flush(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (expression_statement "MVar43 = TellBlob(pIVar40);" (assignment_expression "MVar43 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "WriteBlobString(pIVar40,"endstream\n");" (call_expression "WriteBlobString(pIVar40,"endstream\n")" identifier (argument_list "(pIVar40,"endstream\n")" ( identifier , (string_literal ""endstream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar18 = (uint)local_61f4 + 10;" (assignment_expression "uVar18 = (uint)local_61f4 + 10" identifier = (binary_expression "(uint)local_61f4 + 10" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal)) ;) (expression_statement "iVar16 = (uint)local_61f4 * 2;" (assignment_expression "iVar16 = (uint)local_61f4 * 2" identifier = (binary_expression "(uint)local_61f4 * 2" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) (expression_statement "MVar44 = TellBlob(pIVar40);" (assignment_expression "MVar44 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "local_61f4 = (ulonglong)uVar18;" (assignment_expression "local_61f4 = (ulonglong)uVar18" identifier = (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44;" (assignment_expression "*(MagickOffsetType *)(local_6200 + iVar16 + 0x12) = MVar44" (pointer_expression "*(MagickOffsetType *)(local_6200 + iVar16 + 0x12)" * (cast_expression "(MagickOffsetType *)(local_6200 + iVar16 + 0x12)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + iVar16 + 0x12)" ( (binary_expression "local_6200 + iVar16 + 0x12" (binary_expression "local_6200 + iVar16" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                               (int)((ulonglong)(double)local_61f4 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)local_61f4,0)" identifier (argument_list "((double)local_61f4,0)" ( (cast_expression "(double)local_61f4" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_61f4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_61f4 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_61f4 >> 0x20" (cast_expression "(ulonglong)(double)local_61f4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_61f4" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g\n",SUB84((double)(MVar43 - MVar42),0),\n                               (int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(MVar43 - MVar42),0)" identifier (argument_list "((double)(MVar43 - MVar42),0)" ( (cast_expression "(double)(MVar43 - MVar42)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(MVar43 - MVar42)" ( (binary_expression "MVar43 - MVar42" identifier - identifier) ))) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(MVar43 - MVar42) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(MVar43 - MVar42) >> 0x20)" ( (binary_expression "(ulonglong)(double)(MVar43 - MVar42) >> 0x20" (call_expression "(ulonglong)(double)(MVar43 - MVar42)" (call_expression "(ulonglong)(double)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(double)" ( identifier ))) (argument_list "(MVar43 - MVar42)" ( (binary_expression "MVar43 - MVar42" identifier - identifier) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) }))) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "SetGeometry(pIVar40,&geometry);" (call_expression "SetGeometry(pIVar40,&geometry)" identifier (argument_list "(pIVar40,&geometry)" ( identifier , (pointer_expression "&geometry" & identifier) ))) ;) (expression_statement "ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height);" (call_expression "ParseMetaGeometry("106x106+0+0>",x,y,&geometry.width,height)" identifier (argument_list "("106x106+0+0>",x,y,&geometry.width,height)" ( (string_literal ""106x106+0+0>"" " string_content ") , identifier , identifier , (pointer_expression "&geometry.width" & (field_expression "geometry.width" identifier . field_identifier)) , identifier ))) ;) (expression_statement "pcVar23 = GetImageOption(image_info,"pdf:thumbnail");" (assignment_expression "pcVar23 = GetImageOption(image_info,"pdf:thumbnail")" identifier = (call_expression "GetImageOption(image_info,"pdf:thumbnail")" identifier (argument_list "(image_info,"pdf:thumbnail")" ( identifier , (string_literal ""pdf:thumbnail"" " string_content ") )))) ;) (expression_statement "MVar14 = IsStringTrue(pcVar23);" (assignment_expression "MVar14 = IsStringTrue(pcVar23)" identifier = (call_expression "IsStringTrue(pcVar23)" identifier (argument_list "(pcVar23)" ( identifier )))) ;) (if_statement "if (MVar14 == MagickFalse) {\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }" if (parenthesized_expression "(MVar14 == MagickFalse)" ( (binary_expression "MVar14 == MagickFalse" identifier == identifier) )) (compound_statement "{\n            ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);\n          }" { (expression_statement "ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height);" (call_expression "ParseMetaGeometry("1x1+0+0>",x,y,&geometry.width,height)" identifier (argument_list "("1x1+0+0>",x,y,&geometry.width,height)" ( (string_literal ""1x1+0+0>"" " string_content ") , identifier , identifier , (pointer_expression "&geometry.width" & (field_expression "geometry.width" identifier . field_identifier)) , identifier ))) ;) })) (expression_statement "pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception);" (assignment_expression "pIVar15 = ThumbnailImage(pIVar40,geometry.width,geometry.height,exception)" identifier = (call_expression "ThumbnailImage(pIVar40,geometry.width,geometry.height,exception)" identifier (argument_list "(pIVar40,geometry.width,geometry.height,exception)" ( identifier , (field_expression "geometry.width" identifier . field_identifier) , (field_expression "geometry.height" identifier . field_identifier) , identifier )))) ;) (if_statement "if (pIVar15 == (Image *)0x0) goto LAB_002345f8;" if (parenthesized_expression "(pIVar15 == (Image *)0x0)" ( (binary_expression "pIVar15 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002345f8;" goto statement_identifier ;)) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "dVar1 = (double)(uVar18 + 1);" (assignment_expression "dVar1 = (double)(uVar18 + 1)" identifier = (cast_expression "(double)(uVar18 + 1)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(uVar18 + 1)" ( (binary_expression "uVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + uVar18 * 2) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + uVar18 * 2)" * (cast_expression "(MagickOffsetType *)(local_6200 + uVar18 * 2)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + uVar18 * 2)" ( (binary_expression "local_6200 + uVar18 * 2" identifier + (binary_expression "uVar18 * 2" identifier * number_literal)) )))) = identifier) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1,0)" identifier (argument_list "(dVar1,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar1 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar1 >> 0x20)" ( (binary_expression "(ulonglong)dVar1 >> 0x20" (cast_expression "(ulonglong)dVar1" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"<<\n");" (call_expression "WriteBlobString(pIVar40,"<<\n")" identifier (argument_list "(pIVar40,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (switch_statement "switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;\n          default:\n            pcVar23 = "RunLengthDecode";\n            break;\n          case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;\n          case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;\n          case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;\n          case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;\n          case (uchar *)0xd:\n            pcVar23 = "FlateDecode";\n          }" { (case_statement "case (uchar *)0x0:" case (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uchar *)0x1:\n            CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(pIVar40,buffer);\n            local_61c4 = (ulonglong)pIVar15->rows;\n            dVar49 = (double)local_61c4;\n            local_61c4 = (ulonglong)pIVar15->columns;\n            FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));\n            goto LAB_0023649f;" case (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);" (call_expression "CopyMagickString(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" identifier (argument_list "(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" ( identifier , (string_literal ""/Filter [ /CCITTFaxDecode ]\n"" " string_content escape_sequence ") , number_literal ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "local_61c4 = (ulonglong)pIVar15->rows;" (assignment_expression "local_61c4 = (ulonglong)pIVar15->rows" identifier = (cast_expression "(ulonglong)pIVar15->rows" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) ;) (expression_statement "dVar49 = (double)local_61c4;" (assignment_expression "dVar49 = (double)local_61c4" identifier = (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_61c4 = (ulonglong)pIVar15->columns;" (assignment_expression "local_61c4 = (ulonglong)pIVar15->columns" identifier = (cast_expression "(ulonglong)pIVar15->columns" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20))" identifier (argument_list "(buffer,0x1000,\n                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"\n                               ,"0",SUB84((double)local_61c4,0),\n                               (int)((ulonglong)(double)local_61c4 >> 0x20),SUB84(dVar49,0),\n                               (int)((ulonglong)dVar49 >> 0x20))" ( identifier , number_literal , (string_literal ""/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"" " string_content escape_sequence ") , (string_literal ""0"" " string_content ") , (call_expression "SUB84((double)local_61c4,0)" identifier (argument_list "((double)local_61c4,0)" ( (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_61c4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_61c4 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_61c4 >> 0x20" (cast_expression "(ulonglong)(double)local_61c4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , (call_expression "SUB84(dVar49,0)" identifier (argument_list "(dVar49,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar49 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar49 >> 0x20)" ( (binary_expression "(ulonglong)dVar49 >> 0x20" (cast_expression "(ulonglong)dVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (goto_statement "goto LAB_0023649f;" goto statement_identifier ;)) (case_statement "default:\n            pcVar23 = "RunLengthDecode";\n            break;" default : (expression_statement "pcVar23 = "RunLengthDecode";" (assignment_expression "pcVar23 = "RunLengthDecode"" identifier = (string_literal ""RunLengthDecode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uchar *)0x4:\n            pcVar23 = "JPXDecode";\n            goto LAB_00236676;" case (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar23 = "JPXDecode";" (assignment_expression "pcVar23 = "JPXDecode"" identifier = (string_literal ""JPXDecode"" " string_content ")) ;) (goto_statement "goto LAB_00236676;" goto statement_identifier ;)) (case_statement "case (uchar *)0x5:\n            pcVar23 = "DCTDecode";\nLAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            dVar49 = (double)CONCAT44(pcVar23,pcVar19);\n            if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }\n            goto LAB_0023649f;" case (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar23 = "DCTDecode";" (assignment_expression "pcVar23 = "DCTDecode"" identifier = (string_literal ""DCTDecode"" " string_content ")) ;) (labeled_statement "LAB_00236676:\n            pcVar19 = "/Filter [ /%s ]\n";" statement_identifier : (expression_statement "pcVar19 = "/Filter [ /%s ]\n";" (assignment_expression "pcVar19 = "/Filter [ /%s ]\n"" identifier = (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ")) ;)) (expression_statement "FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);" (call_expression "FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23)" identifier (argument_list "(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "dVar49 = (double)CONCAT44(pcVar23,pcVar19);" (assignment_expression "dVar49 = (double)CONCAT44(pcVar23,pcVar19)" identifier = (cast_expression "(double)CONCAT44(pcVar23,pcVar19)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar23,pcVar19)" identifier (argument_list "(pcVar23,pcVar19)" ( identifier , identifier ))))) ;) (if_statement "if (pIVar15->colorspace == CMYKColorspace) {\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }" if (parenthesized_expression "(pIVar15->colorspace == CMYKColorspace)" ( (binary_expression "pIVar15->colorspace == CMYKColorspace" (field_expression "pIVar15->colorspace" identifier -> field_identifier) == identifier) )) (compound_statement "{\n              WriteBlobString(pIVar40,buffer);\n              uVar48 = 0x1000;\n              CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar49 = (double)CONCAT44(pcVar23,uVar48);\n            }" { (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "uVar48 = 0x1000;" (assignment_expression "uVar48 = 0x1000" identifier = number_literal) ;) (expression_statement "CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);" (call_expression "CopyMagickString(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" identifier (argument_list "(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" ( identifier , (string_literal ""/Decode [1 0 1 0 1 0 1 0]\n"" " string_content escape_sequence ") , number_literal ))) ;) (expression_statement "dVar49 = (double)CONCAT44(pcVar23,uVar48);" (assignment_expression "dVar49 = (double)CONCAT44(pcVar23,uVar48)" identifier = (cast_expression "(double)CONCAT44(pcVar23,uVar48)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar23,uVar48)" identifier (argument_list "(pcVar23,uVar48)" ( identifier , identifier ))))) ;) })) (goto_statement "goto LAB_0023649f;" goto statement_identifier ;)) (case_statement "case (uchar *)0x8:\n            pcVar23 = "LZWDecode";\n            break;" case (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar23 = "LZWDecode";" (assignment_expression "pcVar23 = "LZWDecode"" identifier = (string_literal ""LZWDecode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uchar *)0x9:\n            pcVar23 = "ASCII85Decode";\n            break;" case (cast_expression "(uchar *)0x9" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar23 = "ASCII85Decode";" (assignment_expression "pcVar23 = "ASCII85Decode"" identifier = (string_literal ""ASCII85Decode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uchar *)0xd:\n            pcVar23 = "FlateDecode";" case (cast_expression "(uchar *)0xd" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar23 = "FlateDecode";" (assignment_expression "pcVar23 = "FlateDecode"" identifier = (string_literal ""FlateDecode"" " string_content ")) ;)) })) (expression_statement "pcVar19 = "/Filter [ /%s ]\n";" (assignment_expression "pcVar19 = "/Filter [ /%s ]\n"" identifier = (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ")) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);" (call_expression "FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23)" identifier (argument_list "(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "dVar49 = (double)CONCAT44(pcVar23,pcVar19);" (assignment_expression "dVar49 = (double)CONCAT44(pcVar23,pcVar19)" identifier = (cast_expression "(double)CONCAT44(pcVar23,pcVar19)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar23,pcVar19)" identifier (argument_list "(pcVar23,pcVar19)" ( identifier , identifier ))))) ;) (labeled_statement "LAB_0023649f:\n          pcVar23 = buffer;" statement_identifier : (expression_statement "pcVar23 = buffer;" (assignment_expression "pcVar23 = buffer" identifier = identifier) ;)) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "local_61c4 = (ulonglong)pIVar15->columns;" (assignment_expression "local_61c4 = (ulonglong)pIVar15->columns" identifier = (cast_expression "(ulonglong)pIVar15->columns" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Width %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20),pcVar23,SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20))" ( identifier , number_literal , (string_literal ""/Width %.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)local_61c4,0)" identifier (argument_list "((double)local_61c4,0)" ( (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_61c4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_61c4 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_61c4 >> 0x20" (cast_expression "(ulonglong)(double)local_61c4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , identifier , (call_expression "SUB84(dVar49,0)" identifier (argument_list "(dVar49,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar49 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar49 >> 0x20)" ( (binary_expression "(ulonglong)dVar49 >> 0x20" (cast_expression "(ulonglong)dVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "local_61c4 = (ulonglong)pIVar15->rows;" (assignment_expression "local_61c4 = (ulonglong)pIVar15->rows" identifier = (cast_expression "(ulonglong)pIVar15->rows" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Height %.20g\n",SUB84((double)local_61c4,0),\n                             (int)((ulonglong)(double)local_61c4 >> 0x20))" ( identifier , number_literal , (string_literal ""/Height %.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)local_61c4,0)" identifier (argument_list "((double)local_61c4,0)" ( (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_61c4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_61c4 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_61c4 >> 0x20" (cast_expression "(ulonglong)(double)local_61c4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "fVar10 = DAT_002a9b78;" (assignment_expression "fVar10 = DAT_002a9b78" identifier = identifier) ;) (if_statement "if (pSVar17 == (StringInfo *)0x0) {\n            fVar10 = 1.0;\n          }" if (parenthesized_expression "(pSVar17 == (StringInfo *)0x0)" ( (binary_expression "pSVar17 == (StringInfo *)0x0" identifier == (cast_expression "(StringInfo *)0x0" ( (type_descriptor "StringInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            fVar10 = 1.0;\n          }" { (expression_statement "fVar10 = 1.0;" (assignment_expression "fVar10 = 1.0" identifier = number_literal) ;) })) (expression_statement "dVar49 = (double)((float)(uVar18 + 1) - fVar10);" (assignment_expression "dVar49 = (double)((float)(uVar18 + 1) - fVar10)" identifier = (cast_expression "(double)((float)(uVar18 + 1) - fVar10)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(uVar18 + 1) - fVar10)" ( (binary_expression "(float)(uVar18 + 1) - fVar10" (cast_expression "(float)(uVar18 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar18 + 1)" ( (binary_expression "uVar18 + 1" identifier + number_literal) ))) - identifier) )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20))" identifier (argument_list "(buffer,0x1000,"/ColorSpace %.20g 0 R\n",SUB84(dVar49,0),\n                             (int)((ulonglong)dVar49 >> 0x20))" ( identifier , number_literal , (string_literal ""/ColorSpace %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar49,0)" identifier (argument_list "(dVar49,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar49 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar49 >> 0x20)" ( (binary_expression "(ulonglong)dVar49 >> 0x20" (cast_expression "(ulonglong)dVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (call_expression "FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" identifier (argument_list "(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" ( identifier , number_literal , (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ") , (field_expression "local_61cc._0_4_" identifier . field_identifier) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Length %.20g 0 R\n",\n                             SUB84(dVar1 + (double)DAT_0029f718,0),\n                             (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20))" ( identifier , number_literal , (string_literal ""/Length %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1 + (double)DAT_0029f718,0)" identifier (argument_list "(dVar1 + (double)DAT_0029f718,0)" ( (binary_expression "dVar1 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20)" ( (binary_expression "(ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20" (call_expression "(ulonglong)(dVar1 + (double)DAT_0029f718)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar1 + (double)DAT_0029f718)" ( (binary_expression "dVar1 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,">>\n");" (call_expression "WriteBlobString(pIVar40,">>\n")" identifier (argument_list "(pIVar40,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"stream\n");" (call_expression "WriteBlobString(pIVar40,"stream\n")" identifier (argument_list "(pIVar40,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (if_statement "if (local_61a4 < B44Compression) {\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }" if (parenthesized_expression "(local_61a4 < B44Compression)" ( (binary_expression "local_61a4 < B44Compression" identifier < identifier) )) (compound_statement "{\n_L295:\n            iVar16 = LocaleCompare("0","0");\n            if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            goto LAB_00236939;\n          }" { (labeled_statement "_L295:\n            iVar16 = LocaleCompare("0","0");" statement_identifier : (expression_statement "iVar16 = LocaleCompare("0","0");" (assignment_expression "iVar16 = LocaleCompare("0","0")" identifier = (call_expression "LocaleCompare("0","0")" identifier (argument_list "("0","0")" ( (string_literal ""0"" " string_content ") , (string_literal ""0"" " string_content ") )))) ;)) (if_statement "if (iVar16 == 0) {\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }\n            else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n              HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }" { (expression_statement "HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception);" (call_expression "HuffmanEncodeImage(image_info,pIVar40,pIVar15,exception)" identifier (argument_list "(image_info,pIVar40,pIVar15,exception)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }" else (compound_statement "{\n              Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);\n            }" { (expression_statement "Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception);" (call_expression "Huffman2DEncodeImage(image_info,pIVar40,pIVar15,exception)" identifier (argument_list "(image_info,pIVar40,pIVar15,exception)" ( identifier , identifier , identifier , identifier ))) ;) }))) (goto_statement "goto LAB_00236939;" goto statement_identifier ;) })) (expression_statement "sVar37 = pIVar15->rows * pIVar15->columns;" (assignment_expression "sVar37 = pIVar15->rows * pIVar15->columns" identifier = (binary_expression "pIVar15->rows * pIVar15->columns" (field_expression "pIVar15->rows" identifier -> field_identifier) * (field_expression "pIVar15->columns" identifier -> field_identifier))) ;) (if_statement "if ((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)) {\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }" if (parenthesized_expression "((image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse))" ( (binary_expression "(image_info->type == TrueColorType) ||\n             (MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)" (parenthesized_expression "(image_info->type == TrueColorType)" ( (binary_expression "image_info->type == TrueColorType" (field_expression "image_info->type" identifier -> field_identifier) == identifier) )) || (parenthesized_expression "(MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse)" ( (comma_expression "MVar14 = SetImageGray(pIVar15,exception), MVar14 == MagickFalse" (assignment_expression "MVar14 = SetImageGray(pIVar15,exception)" identifier = (call_expression "SetImageGray(pIVar15,exception)" identifier (argument_list "(pIVar15,exception)" ( identifier , identifier )))) , (binary_expression "MVar14 == MagickFalse" identifier == identifier)) ))) )) (compound_statement "{\n            if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == JPEGCompression) goto _L324;\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == JPEG2000Compression) goto _L326;\n            sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }\n            puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\n            if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            RelinquishVirtualMemory(pMVar26);\n            if (MVar14 != MagickFalse) goto LAB_00236939;\n            MVar14 = MagickFalse;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(pIVar40);\n            goto LAB_002345fa;\n          }" { (if_statement "if ((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))) {\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }" if (parenthesized_expression "((pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression))))" ( (binary_expression "(pIVar15->storage_class != DirectClass) &&\n               ((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))" (parenthesized_expression "(pIVar15->storage_class != DirectClass)" ( (binary_expression "pIVar15->storage_class != DirectClass" (field_expression "pIVar15->storage_class" identifier -> field_identifier) != identifier) )) && (parenthesized_expression "((pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)))" ( (parenthesized_expression "(pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression))" ( (binary_expression "pIVar15->colors < 0x101 && (1 < local_61b8 - JPEG2000Compression)" (binary_expression "pIVar15->colors < 0x101" (field_expression "pIVar15->colors" identifier -> field_identifier) < number_literal) && (parenthesized_expression "(1 < local_61b8 - JPEG2000Compression)" ( (binary_expression "1 < local_61b8 - JPEG2000Compression" number_literal < (binary_expression "local_61b8 - JPEG2000Compression" identifier - identifier)) ))) )) ))) )) (compound_statement "{\n              if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }\n              pMVar26 = AcquireVirtualMemory(sVar37,1);\n              _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n              if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }\n              goto LAB_00239234;\n            }" { (if_statement "if (local_61b8 == NoCompression) {\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }" if (parenthesized_expression "(local_61b8 == NoCompression)" ( (binary_expression "local_61b8 == NoCompression" identifier == identifier) )) (compound_statement "{\n                Ascii85Initialize(pIVar40);\n                if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_00236e87;\n              }" { (expression_statement "Ascii85Initialize(pIVar40);" (call_expression "Ascii85Initialize(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (if_statement "if (0 < (int)pIVar15->rows) {\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }" if (parenthesized_expression "(0 < (int)pIVar15->rows)" ( (binary_expression "0 < (int)pIVar15->rows" number_literal < (cast_expression "(int)pIVar15->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) )) (compound_statement "{\n                  _local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);\n                }" { (expression_statement "_local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20);" (assignment_expression "_local_61dc = (longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20)" identifier = (call_expression "(longdouble)((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20)" (parenthesized_expression "(longdouble)" ( identifier )) (argument_list "((unkuint10)(uint6)auStack_61d8._0_6_ << 0x20)" ( (binary_expression "(unkuint10)(uint6)auStack_61d8._0_6_ << 0x20" (cast_expression "(unkuint10)(uint6)auStack_61d8._0_6_" ( (type_descriptor "unkuint10" type_identifier) ) (cast_expression "(uint6)auStack_61d8._0_6_" ( (type_descriptor "uint6" type_identifier) ) (field_expression "auStack_61d8._0_6_" identifier . field_identifier))) << number_literal) )))) ;) (do_statement "do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  } while (iVar16 < (int)pIVar15->rows);" do (compound_statement "{\n                    pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }\n                    iVar16 = (int)local_61dc + 1;\n                    _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);\n                  }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception)" identifier = (call_expression "GetVirtualPixels(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception)" identifier (argument_list "(pIVar15,0,(ssize_t)local_61dc,pIVar15->columns,1,\n                                               exception)" ( identifier , number_literal , (cast_expression "(ssize_t)local_61dc" ( (type_descriptor "ssize_t" primitive_type) ) identifier) , (field_expression "pIVar15->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)pIVar15->columns) {\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }" if (parenthesized_expression "(0 < (int)pIVar15->columns)" ( (binary_expression "0 < (int)pIVar15->columns" number_literal < (cast_expression "(int)pIVar15->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) )) (compound_statement "{\n                      iVar16 = 0;\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);\n                    }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      } while (iVar16 < (int)pIVar15->columns);" do (compound_statement "{\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        iVar16 = iVar16 + 1;\n                        Ascii85Encode(pIVar40,uVar13);\n                        pQVar25 = pQVar25 + pIVar40->number_channels;\n                      }" { (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }" if (parenthesized_expression "(pIVar15->channel_map[5].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar15->channel_map[5].traits != UndefinedPixelTrait" (field_expression "pIVar15->channel_map[5].traits" (subscript_expression "pIVar15->channel_map[5]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }" { (expression_statement "uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);" (assignment_expression "uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset])" identifier = (cast_expression "(uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset])" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(int)ROUND(pQVar25[pIVar15->channel_map[5].offset])" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(pQVar25[pIVar15->channel_map[5].offset])" identifier (argument_list "(pQVar25[pIVar15->channel_map[5].offset])" ( (subscript_expression "pQVar25[pIVar15->channel_map[5].offset]" identifier [ (field_expression "pIVar15->channel_map[5].offset" (subscript_expression "pIVar15->channel_map[5]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) )))))) ;) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "pQVar25 = pQVar25 + pIVar40->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar40->number_channels" identifier = (binary_expression "pQVar25 + pIVar40->number_channels" identifier + (field_expression "pIVar40->number_channels" identifier -> field_identifier))) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar15->columns)" ( (binary_expression "iVar16 < (int)pIVar15->columns" identifier < (cast_expression "(int)pIVar15->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "iVar16 = (int)local_61dc + 1;" (assignment_expression "iVar16 = (int)local_61dc + 1" identifier = (binary_expression "(int)local_61dc + 1" (cast_expression "(int)local_61dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16);" (assignment_expression "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,iVar16)" identifier = (cast_expression "(longdouble)CONCAT64(auStack_61d8._0_6_,iVar16)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "CONCAT64(auStack_61d8._0_6_,iVar16)" identifier (argument_list "(auStack_61d8._0_6_,iVar16)" ( (field_expression "auStack_61d8._0_6_" identifier . field_identifier) , identifier ))))) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar15->rows)" ( (binary_expression "iVar16 < (int)pIVar15->rows" identifier < (cast_expression "(int)pIVar15->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) )) ;) })) (goto_statement "goto LAB_00236e87;" goto statement_identifier ;) })) (expression_statement "pMVar26 = AcquireVirtualMemory(sVar37,1);" (assignment_expression "pMVar26 = AcquireVirtualMemory(sVar37,1)" identifier = (call_expression "AcquireVirtualMemory(sVar37,1)" identifier (argument_list "(sVar37,1)" ( identifier , number_literal )))) ;) (expression_statement "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);" (assignment_expression "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26)" identifier = (cast_expression "(longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "CONCAT64(auStack_61d8._0_6_,pMVar26)" identifier (argument_list "(auStack_61d8._0_6_,pMVar26)" ( (field_expression "auStack_61d8._0_6_" identifier . field_identifier) , identifier ))))) ;) (if_statement "if (pMVar26 != (MemoryInfo *)0x0) {\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }" if (parenthesized_expression "(pMVar26 != (MemoryInfo *)0x0)" ( (binary_expression "pMVar26 != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n                if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }\n                goto LAB_0023720b;\n              }" { (expression_statement "local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);" (assignment_expression "local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26)" identifier = (cast_expression "(uchar *)GetVirtualMemoryBlob(pMVar26)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(pMVar26)" identifier (argument_list "(pMVar26)" ( identifier ))))) ;) (if_statement "if (0 < (int)pIVar15->rows) {\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }" if (parenthesized_expression "(0 < (int)pIVar15->rows)" ( (binary_expression "0 < (int)pIVar15->rows" number_literal < (cast_expression "(int)pIVar15->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) )) (compound_statement "{\n                  iVar16 = 0;\n                  puVar24 = local_61a8;\n                  do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);\n                }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "puVar24 = local_61a8;" (assignment_expression "puVar24 = local_61a8" identifier = identifier) ;) (do_statement "do {\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  } while (iVar16 < (int)pIVar15->rows);" do (compound_statement "{\n                    pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                    if (pQVar25 == (Quantum *)0x0) break;\n                    puVar31 = puVar24;\n                    puVar35 = puVar24;\n                    if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }\n                    iVar16 = iVar16 + 1;\n                    puVar24 = puVar35;\n                  }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception)" identifier (argument_list "(pIVar15,0,iVar16,pIVar15->columns,1,exception)" ( identifier , number_literal , identifier , (field_expression "pIVar15->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "puVar31 = puVar24;" (assignment_expression "puVar31 = puVar24" identifier = identifier) ;) (expression_statement "puVar35 = puVar24;" (assignment_expression "puVar35 = puVar24" identifier = identifier) ;) (if_statement "if (0 < (int)pIVar15->columns) {\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }" if (parenthesized_expression "(0 < (int)pIVar15->columns)" ( (binary_expression "0 < (int)pIVar15->columns" number_literal < (cast_expression "(int)pIVar15->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) )) (compound_statement "{\n                      do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                    }" { (do_statement "do {\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);" do (compound_statement "{\n                        uVar13 = '\0';\n                        if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }\n                        puVar35 = puVar31 + 1;\n                        *puVar31 = uVar13;\n                        pQVar25 = pQVar25 + pIVar15->number_channels;\n                        puVar31 = puVar35;\n                      }" { (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (pIVar15->channel_map[5].traits != UndefinedPixelTrait) {\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }" if (parenthesized_expression "(pIVar15->channel_map[5].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar15->channel_map[5].traits != UndefinedPixelTrait" (field_expression "pIVar15->channel_map[5].traits" (subscript_expression "pIVar15->channel_map[5]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                          uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);\n                        }" { (expression_statement "uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset]);" (assignment_expression "uVar13 = (uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset])" identifier = (cast_expression "(uchar)(int)ROUND(pQVar25[pIVar15->channel_map[5].offset])" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(int)ROUND(pQVar25[pIVar15->channel_map[5].offset])" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(pQVar25[pIVar15->channel_map[5].offset])" identifier (argument_list "(pQVar25[pIVar15->channel_map[5].offset])" ( (subscript_expression "pQVar25[pIVar15->channel_map[5].offset]" identifier [ (field_expression "pIVar15->channel_map[5].offset" (subscript_expression "pIVar15->channel_map[5]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) )))))) ;) })) (expression_statement "puVar35 = puVar31 + 1;" (assignment_expression "puVar35 = puVar31 + 1" identifier = (binary_expression "puVar31 + 1" identifier + number_literal)) ;) (expression_statement "*puVar31 = uVar13;" (assignment_expression "*puVar31 = uVar13" (pointer_expression "*puVar31" * identifier) = identifier) ;) (expression_statement "pQVar25 = pQVar25 + pIVar15->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar15->number_channels" identifier = (binary_expression "pQVar25 + pIVar15->number_channels" identifier + (field_expression "pIVar15->number_channels" identifier -> field_identifier))) ;) (expression_statement "puVar31 = puVar35;" (assignment_expression "puVar31 = puVar35" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar35 - (int)puVar24 < (int)pIVar15->columns)" ( (binary_expression "(int)puVar35 - (int)puVar24 < (int)pIVar15->columns" (binary_expression "(int)puVar35 - (int)puVar24" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)pIVar15->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "puVar24 = puVar35;" (assignment_expression "puVar24 = puVar35" identifier = identifier) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar15->rows)" ( (binary_expression "iVar16 < (int)pIVar15->rows" identifier < (cast_expression "(int)pIVar15->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) )) ;) })) (goto_statement "goto LAB_0023720b;" goto statement_identifier ;) })) (expression_statement "DestroyImage(pIVar15);" (call_expression "DestroyImage(pIVar15)" identifier (argument_list "(pIVar15)" ( identifier ))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);" (call_expression "ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename)" identifier (argument_list "(exception,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , number_literal , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "pIVar40->filename" identifier -> field_identifier) ))) ;) (if_statement "if (image_info->adjoin != MagickFalse) {\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }" if (parenthesized_expression "(image_info->adjoin != MagickFalse)" ( (binary_expression "image_info->adjoin != MagickFalse" (field_expression "image_info->adjoin" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                pIVar15 = pIVar40->previous;\n                while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }\n              }" { (expression_statement "pIVar15 = pIVar40->previous;" (assignment_expression "pIVar15 = pIVar40->previous" identifier = (field_expression "pIVar40->previous" identifier -> field_identifier)) ;) (while_statement "while (pIVar20 = pIVar15, pIVar20 != (Image *)0x0) {\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }" while (parenthesized_expression "(pIVar20 = pIVar15, pIVar20 != (Image *)0x0)" ( (comma_expression "pIVar20 = pIVar15, pIVar20 != (Image *)0x0" (assignment_expression "pIVar20 = pIVar15" identifier = identifier) , (binary_expression "pIVar20 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                  pIVar40 = pIVar20;\n                  pIVar15 = pIVar20->previous;\n                }" { (expression_statement "pIVar40 = pIVar20;" (assignment_expression "pIVar40 = pIVar20" identifier = identifier) ;) (expression_statement "pIVar15 = pIVar20->previous;" (assignment_expression "pIVar15 = pIVar20->previous" identifier = (field_expression "pIVar20->previous" identifier -> field_identifier)) ;) })) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (if_statement "if (local_61b8 == JPEGCompression) goto _L324;" if (parenthesized_expression "(local_61b8 == JPEGCompression)" ( (binary_expression "local_61b8 == JPEGCompression" identifier == identifier) )) (goto_statement "goto _L324;" goto statement_identifier ;)) (if_statement "if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }" if (parenthesized_expression "(local_61b8 == NoCompression)" ( (binary_expression "local_61b8 == NoCompression" identifier == identifier) )) (compound_statement "{\n              Ascii85Initialize(pIVar40);\n              if ((int)pIVar15->rows < 1) goto LAB_00236e87;\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n              Ascii85Flush(pIVar40);\n              goto LAB_00236939;\n            }" { (expression_statement "Ascii85Initialize(pIVar40);" (call_expression "Ascii85Initialize(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (if_statement "if ((int)pIVar15->rows < 1) goto LAB_00236e87;" if (parenthesized_expression "((int)pIVar15->rows < 1)" ( (binary_expression "(int)pIVar15->rows < 1" (cast_expression "(int)pIVar15->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->rows" identifier -> field_identifier)) < number_literal) )) (goto_statement "goto LAB_00236e87;" goto statement_identifier ;)) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);" do (compound_statement "{\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception)" identifier (argument_list "(pIVar15,0,iVar16,pIVar15->columns,1,exception)" ( identifier , number_literal , identifier , (field_expression "pIVar15->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)pIVar15->columns) {\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }" if (parenthesized_expression "(0 < (int)pIVar15->columns)" ( (binary_expression "0 < (int)pIVar15->columns" number_literal < (cast_expression "(int)pIVar15->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) )) (compound_statement "{\n                  local_6224._0_4_ = (Image *)0x0;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);\n                }" { (expression_statement "local_6224._0_4_ = (Image *)0x0;" (assignment_expression "local_6224._0_4_ = (Image *)0x0" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while ((int)(Image *)local_6224 < (int)pIVar15->columns);" do (compound_statement "{\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }\n                    local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  }" { (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < pQVar25[pIVar15->channel_map->offset])" ( (binary_expression "0.0 < pQVar25[pIVar15->channel_map->offset]" number_literal < (subscript_expression "pQVar25[pIVar15->channel_map->offset]" identifier [ (field_expression "pIVar15->channel_map->offset" (field_expression "pIVar15->channel_map" identifier -> field_identifier) -> field_identifier) ])) )) (compound_statement "{\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar15->channel_map->offset]" identifier [ (field_expression "pIVar15->channel_map->offset" (field_expression "pIVar15->channel_map" identifier -> field_identifier) -> field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < pQVar25[pIVar15->channel_map[1].offset])" ( (binary_expression "0.0 < pQVar25[pIVar15->channel_map[1].offset]" number_literal < (subscript_expression "pQVar25[pIVar15->channel_map[1].offset]" identifier [ (field_expression "pIVar15->channel_map[1].offset" (subscript_expression "pIVar15->channel_map[1]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) )) (compound_statement "{\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar15->channel_map[1].offset]" identifier [ (field_expression "pIVar15->channel_map[1].offset" (subscript_expression "pIVar15->channel_map[1]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < pQVar25[pIVar15->channel_map[2].offset])" ( (binary_expression "0.0 < pQVar25[pIVar15->channel_map[2].offset]" number_literal < (subscript_expression "pQVar25[pIVar15->channel_map[2].offset]" identifier [ (field_expression "pIVar15->channel_map[2].offset" (subscript_expression "pIVar15->channel_map[2]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) )) (compound_statement "{\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar15->channel_map[2].offset]" identifier [ (field_expression "pIVar15->channel_map[2].offset" (subscript_expression "pIVar15->channel_map[2]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (if_statement "if (pIVar40->colorspace == CMYKColorspace) {\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }" if (parenthesized_expression "(pIVar40->colorspace == CMYKColorspace)" ( (binary_expression "pIVar40->colorspace == CMYKColorspace" (field_expression "pIVar40->colorspace" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(pIVar40,uVar13);\n                    }" { (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset]))" ( (binary_expression "(pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])" (parenthesized_expression "(pIVar15->channel_map[3].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar15->channel_map[3].traits != UndefinedPixelTrait" (field_expression "pIVar15->channel_map[3].traits" (subscript_expression "pIVar15->channel_map[3]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) && (parenthesized_expression "(0.0 < pQVar25[pIVar15->channel_map[3].offset])" ( (binary_expression "0.0 < pQVar25[pIVar15->channel_map[3].offset]" number_literal < (subscript_expression "pQVar25[pIVar15->channel_map[3].offset]" identifier [ (field_expression "pIVar15->channel_map[3].offset" (subscript_expression "pIVar15->channel_map[3]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) ))) )) (compound_statement "{\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar15->channel_map[3].offset]" identifier [ (field_expression "pIVar15->channel_map[3].offset" (subscript_expression "pIVar15->channel_map[3]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) })) (expression_statement "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);" (assignment_expression "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1)" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)((int)(Image *)local_6224 + 1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(Image *)local_6224 + 1)" ( (binary_expression "(int)(Image *)local_6224 + 1" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) (expression_statement "pQVar25 = pQVar25 + pIVar15->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar15->number_channels" identifier = (binary_expression "pQVar25 + pIVar15->number_channels" identifier + (field_expression "pIVar15->number_channels" identifier -> field_identifier))) ;) }) while (parenthesized_expression "((int)(Image *)local_6224 < (int)pIVar15->columns)" ( (binary_expression "(int)(Image *)local_6224 < (int)pIVar15->columns" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (cast_expression "(int)pIVar15->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar15->rows)" ( (binary_expression "iVar16 < (int)pIVar15->rows" identifier < (cast_expression "(int)pIVar15->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) )) ;) (expression_statement "Ascii85Flush(pIVar40);" (call_expression "Ascii85Flush(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (goto_statement "goto LAB_00236939;" goto statement_identifier ;) })) (if_statement "if (local_61b8 == JPEG2000Compression) goto _L326;" if (parenthesized_expression "(local_61b8 == JPEG2000Compression)" ( (binary_expression "local_61b8 == JPEG2000Compression" identifier == identifier) )) (goto_statement "goto _L326;" goto statement_identifier ;)) (expression_statement "sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3);" (assignment_expression "sVar37 = sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3)" identifier = (binary_expression "sVar37 * ((pIVar15->colorspace == CMYKColorspace) + 3)" identifier * (parenthesized_expression "((pIVar15->colorspace == CMYKColorspace) + 3)" ( (binary_expression "(pIVar15->colorspace == CMYKColorspace) + 3" (parenthesized_expression "(pIVar15->colorspace == CMYKColorspace)" ( (binary_expression "pIVar15->colorspace == CMYKColorspace" (field_expression "pIVar15->colorspace" identifier -> field_identifier) == identifier) )) + number_literal) )))) ;) (expression_statement "pMVar26 = AcquireVirtualMemory(sVar37,4);" (assignment_expression "pMVar26 = AcquireVirtualMemory(sVar37,4)" identifier = (call_expression "AcquireVirtualMemory(sVar37,4)" identifier (argument_list "(sVar37,4)" ( identifier , number_literal )))) ;) (if_statement "if (pMVar26 == (MemoryInfo *)0x0) {\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }" if (parenthesized_expression "(pMVar26 == (MemoryInfo *)0x0)" ( (binary_expression "pMVar26 == (MemoryInfo *)0x0" identifier == (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              DestroyImage(pIVar15);\n              RelinquishMagickMemory(local_6200);\n              ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n              p_Var8 = (_Image *)image_info->adjoin;\n              pIVar15 = pIVar40;\n              while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }\n              goto LAB_00239234;\n            }" { (expression_statement "DestroyImage(pIVar15);" (call_expression "DestroyImage(pIVar15)" identifier (argument_list "(pIVar15)" ( identifier ))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);" (call_expression "ThrowMagickException\n                        (exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename)" identifier (argument_list "(exception,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,\n                         "MemoryAllocationFailed","`%s\'",pIVar40->filename)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , number_literal , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "pIVar40->filename" identifier -> field_identifier) ))) ;) (expression_statement "p_Var8 = (_Image *)image_info->adjoin;" (assignment_expression "p_Var8 = (_Image *)image_info->adjoin" identifier = (cast_expression "(_Image *)image_info->adjoin" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image_info->adjoin" identifier -> field_identifier))) ;) (expression_statement "pIVar15 = pIVar40;" (assignment_expression "pIVar15 = pIVar40" identifier = identifier) ;) (while_statement "while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }" while (parenthesized_expression "(pIVar20 = pIVar15, p_Var8 != (_Image *)0x0)" ( (comma_expression "pIVar20 = pIVar15, p_Var8 != (_Image *)0x0" (assignment_expression "pIVar20 = pIVar15" identifier = identifier) , (binary_expression "p_Var8 != (_Image *)0x0" identifier != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                p_Var8 = pIVar20->previous;\n                pIVar15 = p_Var8;\n                pIVar40 = pIVar20;\n              }" { (expression_statement "p_Var8 = pIVar20->previous;" (assignment_expression "p_Var8 = pIVar20->previous" identifier = (field_expression "pIVar20->previous" identifier -> field_identifier)) ;) (expression_statement "pIVar15 = p_Var8;" (assignment_expression "pIVar15 = p_Var8" identifier = identifier) ;) (expression_statement "pIVar40 = pIVar20;" (assignment_expression "pIVar40 = pIVar20" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (expression_statement "puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);" (assignment_expression "puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26)" identifier = (cast_expression "(uchar *)GetVirtualMemoryBlob(pMVar26)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(pMVar26)" identifier (argument_list "(pMVar26)" ( identifier ))))) ;) (if_statement "if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }" if (parenthesized_expression "(0 < (int)pIVar15->rows)" ( (binary_expression "0 < (int)pIVar15->rows" number_literal < (cast_expression "(int)pIVar15->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) )) (compound_statement "{\n              iVar16 = 0;\n              puVar31 = puVar24;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "puVar31 = puVar24;" (assignment_expression "puVar31 = puVar24" identifier = identifier) ;) (do_statement "do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);" do (compound_statement "{\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception)" identifier (argument_list "(pIVar15,0,iVar16,pIVar15->columns,1,exception)" ( identifier , number_literal , identifier , (field_expression "pIVar15->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }" if (parenthesized_expression "(0 < (int)pIVar15->columns)" ( (binary_expression "0 < (int)pIVar15->columns" number_literal < (cast_expression "(int)pIVar15->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) )) (compound_statement "{\n                  iVar36 = 0;\n                  puVar35 = puVar31;\n                  do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }" { (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (expression_statement "puVar35 = puVar31;" (assignment_expression "puVar35 = puVar31" identifier = identifier) ;) (do_statement "do {\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  } while (iVar36 < (int)pIVar15->columns);" do (compound_statement "{\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    *puVar35 = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[1] = uVar13;\n                    uVar13 = '\0';\n                    if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    puVar35[2] = uVar13;\n                    if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }\n                    iVar36 = iVar36 + 1;\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                    puVar35 = puVar31;\n                  }" { (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar15->channel_map->offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < pQVar25[pIVar15->channel_map->offset])" ( (binary_expression "0.0 < pQVar25[pIVar15->channel_map->offset]" number_literal < (subscript_expression "pQVar25[pIVar15->channel_map->offset]" identifier [ (field_expression "pIVar15->channel_map->offset" (field_expression "pIVar15->channel_map" identifier -> field_identifier) -> field_identifier) ])) )) (compound_statement "{\n                      dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar15->channel_map->offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar15->channel_map->offset]" identifier [ (field_expression "pIVar15->channel_map->offset" (field_expression "pIVar15->channel_map" identifier -> field_identifier) -> field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "*puVar35 = uVar13;" (assignment_expression "*puVar35 = uVar13" (pointer_expression "*puVar35" * identifier) = identifier) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar15->channel_map[1].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < pQVar25[pIVar15->channel_map[1].offset])" ( (binary_expression "0.0 < pQVar25[pIVar15->channel_map[1].offset]" number_literal < (subscript_expression "pQVar25[pIVar15->channel_map[1].offset]" identifier [ (field_expression "pIVar15->channel_map[1].offset" (subscript_expression "pIVar15->channel_map[1]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) )) (compound_statement "{\n                      dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar15->channel_map[1].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar15->channel_map[1].offset]" identifier [ (field_expression "pIVar15->channel_map[1].offset" (subscript_expression "pIVar15->channel_map[1]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "puVar35[1] = uVar13;" (assignment_expression "puVar35[1] = uVar13" (subscript_expression "puVar35[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar15->channel_map[2].offset]) {\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < pQVar25[pIVar15->channel_map[2].offset])" ( (binary_expression "0.0 < pQVar25[pIVar15->channel_map[2].offset]" number_literal < (subscript_expression "pQVar25[pIVar15->channel_map[2].offset]" identifier [ (field_expression "pIVar15->channel_map[2].offset" (subscript_expression "pIVar15->channel_map[2]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) )) (compound_statement "{\n                      dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar15->channel_map[2].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar15->channel_map[2].offset]" identifier [ (field_expression "pIVar15->channel_map[2].offset" (subscript_expression "pIVar15->channel_map[2]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "puVar35[2] = uVar13;" (assignment_expression "puVar35[2] = uVar13" (subscript_expression "puVar35[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pIVar15->colorspace == CMYKColorspace) {\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }\n                    else {\n                      puVar31 = puVar35 + 3;\n                    }" if (parenthesized_expression "(pIVar15->colorspace == CMYKColorspace)" ( (binary_expression "pIVar15->colorspace == CMYKColorspace" (field_expression "pIVar15->colorspace" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                      puVar31 = puVar35 + 4;\n                      _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);\n                      uVar13 = '\0';\n                      if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }\n                      puVar35[3] = uVar13;\n                    }" { (expression_statement "puVar31 = puVar35 + 4;" (assignment_expression "puVar31 = puVar35 + 4" identifier = (binary_expression "puVar35 + 4" identifier + number_literal)) ;) (expression_statement "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31);" (assignment_expression "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,puVar31)" identifier = (cast_expression "(longdouble)CONCAT64(auStack_61d8._0_6_,puVar31)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "CONCAT64(auStack_61d8._0_6_,puVar31)" identifier (argument_list "(auStack_61d8._0_6_,puVar31)" ( (field_expression "auStack_61d8._0_6_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if ((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])) {\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "((pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset]))" ( (binary_expression "(pIVar15->channel_map[3].traits != UndefinedPixelTrait) &&\n                         (0.0 < pQVar25[pIVar15->channel_map[3].offset])" (parenthesized_expression "(pIVar15->channel_map[3].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar15->channel_map[3].traits != UndefinedPixelTrait" (field_expression "pIVar15->channel_map[3].traits" (subscript_expression "pIVar15->channel_map[3]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) && (parenthesized_expression "(0.0 < pQVar25[pIVar15->channel_map[3].offset])" ( (binary_expression "0.0 < pQVar25[pIVar15->channel_map[3].offset]" number_literal < (subscript_expression "pQVar25[pIVar15->channel_map[3].offset]" identifier [ (field_expression "pIVar15->channel_map[3].offset" (subscript_expression "pIVar15->channel_map[3]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) ))) )) (compound_statement "{\n                        dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar15->channel_map[3].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar15->channel_map[3].offset]" identifier [ (field_expression "pIVar15->channel_map[3].offset" (subscript_expression "pIVar15->channel_map[3]" (field_expression "pIVar15->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                        }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "puVar35[3] = uVar13;" (assignment_expression "puVar35[3] = uVar13" (subscript_expression "puVar35[3]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                      puVar31 = puVar35 + 3;\n                    }" else (compound_statement "{\n                      puVar31 = puVar35 + 3;\n                    }" { (expression_statement "puVar31 = puVar35 + 3;" (assignment_expression "puVar31 = puVar35 + 3" identifier = (binary_expression "puVar35 + 3" identifier + number_literal)) ;) }))) (expression_statement "iVar36 = iVar36 + 1;" (assignment_expression "iVar36 = iVar36 + 1" identifier = (binary_expression "iVar36 + 1" identifier + number_literal)) ;) (expression_statement "pQVar25 = pQVar25 + pIVar15->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar15->number_channels" identifier = (binary_expression "pQVar25 + pIVar15->number_channels" identifier + (field_expression "pIVar15->number_channels" identifier -> field_identifier))) ;) (expression_statement "puVar35 = puVar31;" (assignment_expression "puVar35 = puVar31" identifier = identifier) ;) }) while (parenthesized_expression "(iVar36 < (int)pIVar15->columns)" ( (binary_expression "iVar36 < (int)pIVar15->columns" identifier < (cast_expression "(int)pIVar15->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar15->rows)" ( (binary_expression "iVar16 < (int)pIVar15->rows" identifier < (cast_expression "(int)pIVar15->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) )) ;) })) (if_statement "if (local_61b8 == LZWCompression) {\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }\n            else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }" if (parenthesized_expression "(local_61b8 == LZWCompression)" ( (binary_expression "local_61b8 == LZWCompression" identifier == identifier) )) (compound_statement "{\n              MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }" { (expression_statement "MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);" (assignment_expression "MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception)" identifier = (call_expression "LZWEncodeImage(pIVar40,sVar37,puVar24,exception)" identifier (argument_list "(pIVar40,sVar37,puVar24,exception)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }" else (compound_statement "{\n              MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n            }" { (expression_statement "MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);" (assignment_expression "MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception)" identifier = (call_expression "PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception)" identifier (argument_list "(pIVar40,sVar37,puVar24,exception)" ( identifier , identifier , identifier , identifier )))) ;) }))) (expression_statement "RelinquishVirtualMemory(pMVar26);" (call_expression "RelinquishVirtualMemory(pMVar26)" identifier (argument_list "(pMVar26)" ( identifier ))) ;) (if_statement "if (MVar14 != MagickFalse) goto LAB_00236939;" if (parenthesized_expression "(MVar14 != MagickFalse)" ( (binary_expression "MVar14 != MagickFalse" identifier != identifier) )) (goto_statement "goto LAB_00236939;" goto statement_identifier ;)) (expression_statement "MVar14 = MagickFalse;" (assignment_expression "MVar14 = MagickFalse" identifier = identifier) ;) (labeled_statement "LAB_0023707e:\n            RelinquishMagickMemory(local_6200);" statement_identifier : (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;)) (expression_statement "CloseBlob(pIVar40);" (call_expression "CloseBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (goto_statement "goto LAB_002345fa;" goto statement_identifier ;) })) (switch_statement "switch(local_61a8) {\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n          case (uchar *)0x0:\n          case (uchar *)0x1:\n            goto _L295;\n          default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;\n          case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;\n          case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;\n          case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;\n          }" { (case_statement "case (uchar *)0x0:" case (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uchar *)0x1:\n            goto _L295;" case (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (goto_statement "goto _L295;" goto statement_identifier ;)) (case_statement "default:\n            pMVar26 = AcquireVirtualMemory(sVar37,1);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(pIVar15);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar15 = pIVar40;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            goto LAB_00239234;" default : (expression_statement "pMVar26 = AcquireVirtualMemory(sVar37,1);" (assignment_expression "pMVar26 = AcquireVirtualMemory(sVar37,1)" identifier = (call_expression "AcquireVirtualMemory(sVar37,1)" identifier (argument_list "(sVar37,1)" ( identifier , number_literal )))) ;) (expression_statement "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26);" (assignment_expression "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26)" identifier = (cast_expression "(longdouble)CONCAT64(auStack_61d8._0_6_,pMVar26)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "CONCAT64(auStack_61d8._0_6_,pMVar26)" identifier (argument_list "(auStack_61d8._0_6_,pMVar26)" ( (field_expression "auStack_61d8._0_6_" identifier . field_identifier) , identifier ))))) ;) (if_statement "if (pMVar26 != (MemoryInfo *)0x0) {\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }" if (parenthesized_expression "(pMVar26 != (MemoryInfo *)0x0)" ( (binary_expression "pMVar26 != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }\nLAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              RelinquishVirtualMemory((MemoryInfo *)local_61dc);\n              if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }" { (expression_statement "local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26);" (assignment_expression "local_61a8 = (uchar *)GetVirtualMemoryBlob(pMVar26)" identifier = (cast_expression "(uchar *)GetVirtualMemoryBlob(pMVar26)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(pMVar26)" identifier (argument_list "(pMVar26)" ( identifier ))))) ;) (if_statement "if (0 < (int)pIVar15->rows) {\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }" if (parenthesized_expression "(0 < (int)pIVar15->rows)" ( (binary_expression "0 < (int)pIVar15->rows" number_literal < (cast_expression "(int)pIVar15->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) )) (compound_statement "{\n                iVar16 = 0;\n                puVar24 = local_61a8;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);\n              }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "puVar24 = local_61a8;" (assignment_expression "puVar24 = local_61a8" identifier = identifier) ;) (do_statement "do {\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                } while (iVar16 < (int)pIVar15->rows);" do (compound_statement "{\n                  pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar31 = puVar24;\n                  puVar35 = puVar24;\n                  if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }\n                  iVar16 = iVar16 + 1;\n                  puVar24 = puVar35;\n                }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception)" identifier (argument_list "(pIVar15,0,iVar16,pIVar15->columns,1,exception)" ( identifier , number_literal , identifier , (field_expression "pIVar15->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "puVar31 = puVar24;" (assignment_expression "puVar31 = puVar24" identifier = identifier) ;) (expression_statement "puVar35 = puVar24;" (assignment_expression "puVar35 = puVar24" identifier = identifier) ;) (if_statement "if (0 < (int)pIVar15->columns) {\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }" if (parenthesized_expression "(0 < (int)pIVar15->columns)" ( (binary_expression "0 < (int)pIVar15->columns" number_literal < (cast_expression "(int)pIVar15->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) )) (compound_statement "{\n                    do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);\n                  }" { (do_statement "do {\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    } while ((int)puVar35 - (int)puVar24 < (int)pIVar15->columns);" do (compound_statement "{\n                      pPVar7 = pIVar15->channel_map;\n                      puVar35 = puVar31 + 1;\n                      uVar13 = '\0';\n                      fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                      if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }\n                      *puVar31 = uVar13;\n                      pQVar25 = pQVar25 + pIVar15->number_channels;\n                      puVar31 = puVar35;\n                    }" { (expression_statement "pPVar7 = pIVar15->channel_map;" (assignment_expression "pPVar7 = pIVar15->channel_map" identifier = (field_expression "pIVar15->channel_map" identifier -> field_identifier)) ;) (expression_statement "puVar35 = puVar31 + 1;" (assignment_expression "puVar35 = puVar31 + 1" identifier = (binary_expression "puVar31 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset];" (assignment_expression "fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset]" identifier = (binary_expression "(float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                               DAT_002b2400 * (float)pQVar25[pPVar7->offset]" (binary_expression "(float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                               DAT_002b23fc * (float)pQVar25[pPVar7[1].offset]" (binary_expression "(float)pQVar25[pPVar7[2].offset] * DAT_002b2404" (cast_expression "(float)pQVar25[pPVar7[2].offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar25[pPVar7[2].offset]" identifier [ (field_expression "pPVar7[2].offset" (subscript_expression "pPVar7[2]" identifier [ number_literal ]) . field_identifier) ])) * identifier) + (binary_expression "DAT_002b23fc * (float)pQVar25[pPVar7[1].offset]" identifier * (cast_expression "(float)pQVar25[pPVar7[1].offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar25[pPVar7[1].offset]" identifier [ (field_expression "pPVar7[1].offset" (subscript_expression "pPVar7[1]" identifier [ number_literal ]) . field_identifier) ])))) + (binary_expression "DAT_002b2400 * (float)pQVar25[pPVar7->offset]" identifier * (cast_expression "(float)pQVar25[pPVar7->offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar25[pPVar7->offset]" identifier [ (field_expression "pPVar7->offset" identifier -> field_identifier) ]))))) ;) (if_statement "if (0.0 < fVar10) {\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "(0.0 < fVar10)" ( (binary_expression "0.0 < fVar10" number_literal < identifier) )) (compound_statement "{\n                        fVar10 = fVar10 / DAT_002a7ff0;\n                        uVar13 = 0xff;\n                        if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }\n                      }" { (expression_statement "fVar10 = fVar10 / DAT_002a7ff0;" (assignment_expression "fVar10 = fVar10 / DAT_002a7ff0" identifier = (binary_expression "fVar10 / DAT_002a7ff0" identifier / identifier)) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (fVar10 < DAT_002a7ff4) {\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }" if (parenthesized_expression "(fVar10 < DAT_002a7ff4)" ( (binary_expression "fVar10 < DAT_002a7ff4" identifier < identifier) )) (compound_statement "{\n                          uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                        }" { (expression_statement "uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(fVar10 + DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(fVar10 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar10 + DAT_0029f124)" identifier (argument_list "(fVar10 + DAT_0029f124)" ( (binary_expression "fVar10 + DAT_0029f124" identifier + identifier) )))))) ;) })) })) (expression_statement "*puVar31 = uVar13;" (assignment_expression "*puVar31 = uVar13" (pointer_expression "*puVar31" * identifier) = identifier) ;) (expression_statement "pQVar25 = pQVar25 + pIVar15->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar15->number_channels" identifier = (binary_expression "pQVar25 + pIVar15->number_channels" identifier + (field_expression "pIVar15->number_channels" identifier -> field_identifier))) ;) (expression_statement "puVar31 = puVar35;" (assignment_expression "puVar31 = puVar35" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar35 - (int)puVar24 < (int)pIVar15->columns)" ( (binary_expression "(int)puVar35 - (int)puVar24 < (int)pIVar15->columns" (binary_expression "(int)puVar35 - (int)puVar24" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)pIVar15->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "puVar24 = puVar35;" (assignment_expression "puVar24 = puVar35" identifier = identifier) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar15->rows)" ( (binary_expression "iVar16 < (int)pIVar15->rows" identifier < (cast_expression "(int)pIVar15->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) )) ;) })) (labeled_statement "LAB_0023720b:\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }" statement_identifier : (if_statement "if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }" if (parenthesized_expression "(local_61b8 == LZWCompression)" ( (binary_expression "local_61b8 == LZWCompression" identifier == identifier) )) (compound_statement "{\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }" { (expression_statement "MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception);" (assignment_expression "MVar14 = LZWEncodeImage(pIVar40,sVar37,local_61a8,exception)" identifier = (call_expression "LZWEncodeImage(pIVar40,sVar37,local_61a8,exception)" identifier (argument_list "(pIVar40,sVar37,local_61a8,exception)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }" else (compound_statement "{\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);\n              }" { (expression_statement "MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception);" (assignment_expression "MVar14 = PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception)" identifier = (call_expression "PackbitsEncodeImage(pIVar40,sVar37,local_61a8,exception)" identifier (argument_list "(pIVar40,sVar37,local_61a8,exception)" ( identifier , identifier , identifier , identifier )))) ;) })))) (expression_statement "RelinquishVirtualMemory((MemoryInfo *)local_61dc);" (call_expression "RelinquishVirtualMemory((MemoryInfo *)local_61dc)" identifier (argument_list "((MemoryInfo *)local_61dc)" ( (cast_expression "(MemoryInfo *)local_61dc" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (MVar14 == MagickFalse) {\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }" if (parenthesized_expression "(MVar14 == MagickFalse)" ( (binary_expression "MVar14 == MagickFalse" identifier == identifier) )) (compound_statement "{\n                MVar14 = MagickFalse;\n                goto LAB_0023707e;\n              }" { (expression_statement "MVar14 = MagickFalse;" (assignment_expression "MVar14 = MagickFalse" identifier = identifier) ;) (goto_statement "goto LAB_0023707e;" goto statement_identifier ;) })) (goto_statement "goto LAB_00236939;" goto statement_identifier ;) })) (expression_statement "DestroyImage(pIVar15);" (call_expression "DestroyImage(pIVar15)" identifier (argument_list "(pIVar15)" ( identifier ))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);" (call_expression "ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename)" identifier (argument_list "(exception,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar40->filename)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , number_literal , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "pIVar40->filename" identifier -> field_identifier) ))) ;) (expression_statement "p_Var8 = (_Image *)image_info->adjoin;" (assignment_expression "p_Var8 = (_Image *)image_info->adjoin" identifier = (cast_expression "(_Image *)image_info->adjoin" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image_info->adjoin" identifier -> field_identifier))) ;) (expression_statement "pIVar15 = pIVar40;" (assignment_expression "pIVar15 = pIVar40" identifier = identifier) ;) (while_statement "while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }" while (parenthesized_expression "(pIVar20 = pIVar15, p_Var8 != (_Image *)0x0)" ( (comma_expression "pIVar20 = pIVar15, p_Var8 != (_Image *)0x0" (assignment_expression "pIVar20 = pIVar15" identifier = identifier) , (binary_expression "p_Var8 != (_Image *)0x0" identifier != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }" { (expression_statement "p_Var8 = pIVar20->previous;" (assignment_expression "p_Var8 = pIVar20->previous" identifier = (field_expression "pIVar20->previous" identifier -> field_identifier)) ;) (expression_statement "pIVar15 = p_Var8;" (assignment_expression "pIVar15 = p_Var8" identifier = identifier) ;) (expression_statement "pIVar40 = pIVar20;" (assignment_expression "pIVar40 = pIVar20" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;)) (case_statement "case (uchar *)0x4:\n_L326:\n            pcVar23 = "jp2";\n            break;" case (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L326:\n            pcVar23 = "jp2";" statement_identifier : (expression_statement "pcVar23 = "jp2";" (assignment_expression "pcVar23 = "jp2"" identifier = (string_literal ""jp2"" " string_content ")) ;)) (break_statement "break;" break ;)) (case_statement "case (uchar *)0x5:\n_L324:\n            pcVar23 = "jpeg";\n            break;" case (cast_expression "(uchar *)0x5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L324:\n            pcVar23 = "jpeg";" statement_identifier : (expression_statement "pcVar23 = "jpeg";" (assignment_expression "pcVar23 = "jpeg"" identifier = (string_literal ""jpeg"" " string_content ")) ;)) (break_statement "break;" break ;)) (case_statement "case (uchar *)0x9:\n            Ascii85Initialize(pIVar40);\n            if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }\nLAB_00236e87:\n            Ascii85Flush(pIVar40);\n            goto LAB_00236939;" case (cast_expression "(uchar *)0x9" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "Ascii85Initialize(pIVar40);" (call_expression "Ascii85Initialize(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (if_statement "if (0 < (int)pIVar15->rows) {\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }" if (parenthesized_expression "(0 < (int)pIVar15->rows)" ( (binary_expression "0 < (int)pIVar15->rows" number_literal < (cast_expression "(int)pIVar15->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) )) (compound_statement "{\n              iVar16 = 0;\n              do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);\n            }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              } while (iVar16 < (int)pIVar15->rows);" do (compound_statement "{\n                pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);\n                if (pQVar25 == (Quantum *)0x0) break;\n                if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }\n                iVar16 = iVar16 + 1;\n              }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar15,0,iVar16,pIVar15->columns,1,exception)" identifier (argument_list "(pIVar15,0,iVar16,pIVar15->columns,1,exception)" ( identifier , number_literal , identifier , (field_expression "pIVar15->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)pIVar15->columns) {\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }" if (parenthesized_expression "(0 < (int)pIVar15->columns)" ( (binary_expression "0 < (int)pIVar15->columns" number_literal < (cast_expression "(int)pIVar15->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) )) (compound_statement "{\n                  iVar36 = 0;\n                  do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);\n                }" { (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (do_statement "do {\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  } while (iVar36 < (int)pIVar15->columns);" do (compound_statement "{\n                    pPVar7 = pIVar15->channel_map;\n                    uVar13 = '\0';\n                    fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];\n                    if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }\n                    iVar36 = iVar36 + 1;\n                    Ascii85Encode(pIVar40,uVar13);\n                    pQVar25 = pQVar25 + pIVar15->number_channels;\n                  }" { (expression_statement "pPVar7 = pIVar15->channel_map;" (assignment_expression "pPVar7 = pIVar15->channel_map" identifier = (field_expression "pIVar15->channel_map" identifier -> field_identifier)) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset];" (assignment_expression "fVar10 = (float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset]" identifier = (binary_expression "(float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset] +\n                             DAT_002b2400 * (float)pQVar25[pPVar7->offset]" (binary_expression "(float)pQVar25[pPVar7[2].offset] * DAT_002b2404 +\n                             DAT_002b23fc * (float)pQVar25[pPVar7[1].offset]" (binary_expression "(float)pQVar25[pPVar7[2].offset] * DAT_002b2404" (cast_expression "(float)pQVar25[pPVar7[2].offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar25[pPVar7[2].offset]" identifier [ (field_expression "pPVar7[2].offset" (subscript_expression "pPVar7[2]" identifier [ number_literal ]) . field_identifier) ])) * identifier) + (binary_expression "DAT_002b23fc * (float)pQVar25[pPVar7[1].offset]" identifier * (cast_expression "(float)pQVar25[pPVar7[1].offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar25[pPVar7[1].offset]" identifier [ (field_expression "pPVar7[1].offset" (subscript_expression "pPVar7[1]" identifier [ number_literal ]) . field_identifier) ])))) + (binary_expression "DAT_002b2400 * (float)pQVar25[pPVar7->offset]" identifier * (cast_expression "(float)pQVar25[pPVar7->offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar25[pPVar7->offset]" identifier [ (field_expression "pPVar7->offset" identifier -> field_identifier) ]))))) ;) (if_statement "if (0.0 < fVar10) {\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < fVar10)" ( (binary_expression "0.0 < fVar10" number_literal < identifier) )) (compound_statement "{\n                      fVar10 = fVar10 / DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }\n                    }" { (expression_statement "fVar10 = fVar10 / DAT_002a7ff0;" (assignment_expression "fVar10 = fVar10 / DAT_002a7ff0" identifier = (binary_expression "fVar10 / DAT_002a7ff0" identifier / identifier)) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (fVar10 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }" if (parenthesized_expression "(fVar10 < DAT_002a7ff4)" ( (binary_expression "fVar10 < DAT_002a7ff4" identifier < identifier) )) (compound_statement "{\n                        uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);\n                      }" { (expression_statement "uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(fVar10 + DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(fVar10 + DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(fVar10 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar10 + DAT_0029f124)" identifier (argument_list "(fVar10 + DAT_0029f124)" ( (binary_expression "fVar10 + DAT_0029f124" identifier + identifier) )))))) ;) })) })) (expression_statement "iVar36 = iVar36 + 1;" (assignment_expression "iVar36 = iVar36 + 1" identifier = (binary_expression "iVar36 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "pQVar25 = pQVar25 + pIVar15->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar15->number_channels" identifier = (binary_expression "pQVar25 + pIVar15->number_channels" identifier + (field_expression "pIVar15->number_channels" identifier -> field_identifier))) ;) }) while (parenthesized_expression "(iVar36 < (int)pIVar15->columns)" ( (binary_expression "iVar36 < (int)pIVar15->columns" identifier < (cast_expression "(int)pIVar15->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar15->rows)" ( (binary_expression "iVar16 < (int)pIVar15->rows" identifier < (cast_expression "(int)pIVar15->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar15->rows" identifier -> field_identifier))) )) ;) })) (labeled_statement "LAB_00236e87:\n            Ascii85Flush(pIVar40);" statement_identifier : (expression_statement "Ascii85Flush(pIVar40);" (call_expression "Ascii85Flush(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;)) (goto_statement "goto LAB_00236939;" goto statement_identifier ;)) })) (expression_statement "MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception);" (assignment_expression "MVar14 = InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception)" identifier = (call_expression "InjectImageBlob(image_info,pIVar40,pIVar15,pcVar23,exception)" identifier (argument_list "(image_info,pIVar40,pIVar15,pcVar23,exception)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (MVar14 == MagickFalse) goto LAB_0023707e;" if (parenthesized_expression "(MVar14 == MagickFalse)" ( (binary_expression "MVar14 == MagickFalse" identifier == identifier) )) (goto_statement "goto LAB_0023707e;" goto statement_identifier ;)) (labeled_statement "LAB_00236939:\n          DestroyImage(pIVar15);" statement_identifier : (expression_statement "DestroyImage(pIVar15);" (call_expression "DestroyImage(pIVar15)" identifier (argument_list "(pIVar15)" ( identifier ))) ;)) (expression_statement "MVar43 = TellBlob(pIVar40);" (assignment_expression "MVar43 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "lVar11 = MVar43 - MVar42;" (assignment_expression "lVar11 = MVar43 - MVar42" identifier = (binary_expression "MVar43 - MVar42" identifier - identifier)) ;) (expression_statement "WriteBlobString(pIVar40,"\nendstream\n");" (call_expression "WriteBlobString(pIVar40,"\nendstream\n")" identifier (argument_list "(pIVar40,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "_local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);" (assignment_expression "_local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40)" identifier = (call_expression "(longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40)" (parenthesized_expression "(longdouble)" ( identifier )) (argument_list "((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40)" ( (binary_expression "(unkuint10)(ushort)auStack_61d8._4_2_ << 0x40" (cast_expression "(unkuint10)(ushort)auStack_61d8._4_2_" ( (type_descriptor "unkuint10" type_identifier) ) (cast_expression "(ushort)auStack_61d8._4_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "auStack_61d8._4_2_" identifier . field_identifier))) << number_literal) )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2)" * (cast_expression "(MagickOffsetType *)(local_6200 + uVar18 * 2 + 2)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + uVar18 * 2 + 2)" ( (binary_expression "local_6200 + uVar18 * 2 + 2" (binary_expression "local_6200 + uVar18 * 2" identifier + (binary_expression "uVar18 * 2" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2);" (assignment_expression "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2)" identifier = (cast_expression "(longdouble)CONCAT64(auStack_61d8._0_6_,uVar18 + 2)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "CONCAT64(auStack_61d8._0_6_,uVar18 + 2)" identifier (argument_list "(auStack_61d8._0_6_,uVar18 + 2)" ( (field_expression "auStack_61d8._0_6_" identifier . field_identifier) , (binary_expression "uVar18 + 2" identifier + number_literal) ))))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)_local_61dc,0)" identifier (argument_list "((double)_local_61dc,0)" ( (cast_expression "(double)_local_61dc" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)_local_61dc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)_local_61dc >> 0x20)" ( (binary_expression "(ulonglong)(double)_local_61dc >> 0x20" (cast_expression "(ulonglong)(double)_local_61dc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)_local_61dc" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)lVar11,0)" identifier (argument_list "((double)lVar11,0)" ( (cast_expression "(double)lVar11" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)lVar11 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)lVar11 >> 0x20)" ( (binary_expression "(ulonglong)(double)lVar11 >> 0x20" (cast_expression "(ulonglong)(double)lVar11" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)lVar11" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4)" * (cast_expression "(MagickOffsetType *)(local_6200 + uVar18 * 2 + 4)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + uVar18 * 2 + 4)" ( (binary_expression "local_6200 + uVar18 * 2 + 4" (binary_expression "local_6200 + uVar18 * 2" identifier + (binary_expression "uVar18 * 2" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "local_61f4 = (ulonglong)(uVar18 + 3);" (assignment_expression "local_61f4 = (ulonglong)(uVar18 + 3)" identifier = (call_expression "(ulonglong)(uVar18 + 3)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uVar18 + 3)" ( (binary_expression "uVar18 + 3" identifier + number_literal) )))) ;) (expression_statement "dVar1 = (double)local_61f4;" (assignment_expression "dVar1 = (double)local_61f4" identifier = (cast_expression "(double)local_61f4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1,0)" identifier (argument_list "(dVar1,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar1 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar1 >> 0x20)" ( (binary_expression "(ulonglong)dVar1 >> 0x20" (cast_expression "(ulonglong)dVar1" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"<<\n");" (call_expression "WriteBlobString(pIVar40,"<<\n")" identifier (argument_list "(pIVar40,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)) {\n            WriteBlobString(pIVar40,">>\n");\n          }\n          else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }" if (parenthesized_expression "(((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression))" ( (binary_expression "((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)) ||\n             (local_61a4 < B44Compression)" (parenthesized_expression "((pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors))" ( (binary_expression "(pIVar40->storage_class == DirectClass) || (0x100 < pIVar40->colors)" (parenthesized_expression "(pIVar40->storage_class == DirectClass)" ( (binary_expression "pIVar40->storage_class == DirectClass" (field_expression "pIVar40->storage_class" identifier -> field_identifier) == identifier) )) || (parenthesized_expression "(0x100 < pIVar40->colors)" ( (binary_expression "0x100 < pIVar40->colors" number_literal < (field_expression "pIVar40->colors" identifier -> field_identifier)) ))) )) || (parenthesized_expression "(local_61a4 < B44Compression)" ( (binary_expression "local_61a4 < B44Compression" identifier < identifier) ))) )) (compound_statement "{\n            WriteBlobString(pIVar40,">>\n");\n          }" { (expression_statement "WriteBlobString(pIVar40,">>\n");" (call_expression "WriteBlobString(pIVar40,">>\n")" identifier (argument_list "(pIVar40,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }" else (compound_statement "{\n            if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }\n            MVar42 = TellBlob(pIVar40);\n            lVar11 = MVar42 - local_61f4;\n            WriteBlobString(pIVar40,"\nendstream\n");\n          }" { (if_statement "if (local_61b8 == NoCompression) {\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }\n            else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }" if (parenthesized_expression "(local_61b8 == NoCompression)" ( (binary_expression "local_61b8 == NoCompression" identifier == identifier) )) (compound_statement "{\n              WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->colors) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(pIVar40);\n            }" { (expression_statement "WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n");" (call_expression "WriteBlobString(pIVar40,"/Filter [ /ASCII85Decode ]\n")" identifier (argument_list "(pIVar40,"/Filter [ /ASCII85Decode ]\n")" ( identifier , (string_literal ""/Filter [ /ASCII85Decode ]\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20))" ( identifier , number_literal , (string_literal ""/Length %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1 + (double)DAT_0029f718,0)" identifier (argument_list "(dVar1 + (double)DAT_0029f718,0)" ( (binary_expression "dVar1 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20)" ( (binary_expression "(ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20" (call_expression "(ulonglong)(dVar1 + (double)DAT_0029f718)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar1 + (double)DAT_0029f718)" ( (binary_expression "dVar1 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,">>\n");" (call_expression "WriteBlobString(pIVar40,">>\n")" identifier (argument_list "(pIVar40,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"stream\n");" (call_expression "WriteBlobString(pIVar40,"stream\n")" identifier (argument_list "(pIVar40,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_61f4 = TellBlob(pIVar40);" (assignment_expression "local_61f4 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "Ascii85Initialize(pIVar40);" (call_expression "Ascii85Initialize(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (if_statement "if (0 < (int)pIVar40->colors) goto LAB_002384f8;" if (parenthesized_expression "(0 < (int)pIVar40->colors)" ( (binary_expression "0 < (int)pIVar40->colors" number_literal < (cast_expression "(int)pIVar40->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->colors" identifier -> field_identifier))) )) (goto_statement "goto LAB_002384f8;" goto statement_identifier ;)) (labeled_statement "LAB_00239b55:\n              Ascii85Flush(pIVar40);" statement_identifier : (expression_statement "Ascii85Flush(pIVar40);" (call_expression "Ascii85Flush(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;)) }) (else_clause "else {\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }" else (compound_statement "{\n              FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n              WriteBlobString(pIVar40,buffer);\n              WriteBlobString(pIVar40,">>\n");\n              WriteBlobString(pIVar40,"stream\n");\n              local_61f4 = TellBlob(pIVar40);\n              if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }\nLAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;\n            }" { (expression_statement "FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Length %.20g 0 R\n",\n                                 SUB84(dVar1 + (double)DAT_0029f718,0),\n                                 (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20))" ( identifier , number_literal , (string_literal ""/Length %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1 + (double)DAT_0029f718,0)" identifier (argument_list "(dVar1 + (double)DAT_0029f718,0)" ( (binary_expression "dVar1 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20)" ( (binary_expression "(ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20" (call_expression "(ulonglong)(dVar1 + (double)DAT_0029f718)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar1 + (double)DAT_0029f718)" ( (binary_expression "dVar1 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,">>\n");" (call_expression "WriteBlobString(pIVar40,">>\n")" identifier (argument_list "(pIVar40,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"stream\n");" (call_expression "WriteBlobString(pIVar40,"stream\n")" identifier (argument_list "(pIVar40,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_61f4 = TellBlob(pIVar40);" (assignment_expression "local_61f4 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (if_statement "if (0 < (int)pIVar40->colors) {\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }" if (parenthesized_expression "(0 < (int)pIVar40->colors)" ( (binary_expression "0 < (int)pIVar40->colors" number_literal < (cast_expression "(int)pIVar40->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->colors" identifier -> field_identifier))) )) (compound_statement "{\nLAB_002384f8:\n                iVar36 = 0;\n                iVar16 = 0;\n                do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);\n              }" { (labeled_statement "LAB_002384f8:\n                iVar36 = 0;" statement_identifier : (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;)) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                } while (iVar16 < (int)pIVar40->colors);" do (compound_statement "{\n                  while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(pIVar40,uVar13);\n                  dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                  uVar13 = '\0';\n                  if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar16 = iVar16 + 1;\n                  iVar36 = iVar36 + 0x50;\n                  WriteBlobByte(pIVar40,uVar13);\n                }" { (while_statement "while( true ) {\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);\n                    uVar13 = '\0';\n                    if (local_61b8 != NoCompression) break;\n                    if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(pIVar40,uVar13);\n                    dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);\n                    uVar13 = '\0';\n                    if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar16 = iVar16 + 1;\n                    iVar36 = iVar36 + 0x50;\n                    Ascii85Encode(pIVar40,uVar13);\n                    if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;\n                  }" { (expression_statement "fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36);" (assignment_expression "fVar10 = (float)*(double *)((int)&pIVar40->colormap->red + iVar36)" identifier = (cast_expression "(float)*(double *)((int)&pIVar40->colormap->red + iVar36)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)((int)&pIVar40->colormap->red + iVar36)" * (cast_expression "(double *)((int)&pIVar40->colormap->red + iVar36)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar40->colormap->red + iVar36)" ( (binary_expression "(int)&pIVar40->colormap->red + iVar36" (cast_expression "(int)&pIVar40->colormap->red" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar40->colormap->red" & (field_expression "pIVar40->colormap->red" (field_expression "pIVar40->colormap" identifier -> field_identifier) -> field_identifier))) + identifier) )))))) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (local_61b8 != NoCompression) break;" if (parenthesized_expression "(local_61b8 != NoCompression)" ( (binary_expression "local_61b8 != NoCompression" identifier != identifier) )) (break_statement "break;" break ;)) (if_statement "if (0.0 < fVar10) {\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < fVar10)" ( (binary_expression "0.0 < fVar10" number_literal < identifier) )) (compound_statement "{\n                      uVar13 = 0xff;\n                      if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }" { (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }" if (parenthesized_expression "(fVar10 / DAT_002a7ff0 < DAT_002a7ff4)" ( (binary_expression "fVar10 / DAT_002a7ff0 < DAT_002a7ff4" (binary_expression "fVar10 / DAT_002a7ff0" identifier / identifier) < identifier) )) (compound_statement "{\n                        uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                      }" { (expression_statement "uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124)" identifier (argument_list "(fVar10 / DAT_002a7ff0 + DAT_0029f124)" ( (binary_expression "fVar10 / DAT_002a7ff0 + DAT_0029f124" (binary_expression "fVar10 / DAT_002a7ff0" identifier / identifier) + identifier) )))))) ;) })) })) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);" (assignment_expression "dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36)" identifier = (pointer_expression "*(double *)((int)&pIVar40->colormap->green + iVar36)" * (cast_expression "(double *)((int)&pIVar40->colormap->green + iVar36)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar40->colormap->green + iVar36)" ( (binary_expression "(int)&pIVar40->colormap->green + iVar36" (cast_expression "(int)&pIVar40->colormap->green" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar40->colormap->green" & (field_expression "pIVar40->colormap->green" (field_expression "pIVar40->colormap" identifier -> field_identifier) -> field_identifier))) + identifier) ))))) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar1)" ( (binary_expression "0.0 < dVar1" number_literal < identifier) )) (compound_statement "{\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar1 = dVar1 / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = dVar1 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar1 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);" (assignment_expression "dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36)" identifier = (pointer_expression "*(double *)((int)&pIVar40->colormap->blue + iVar36)" * (cast_expression "(double *)((int)&pIVar40->colormap->blue + iVar36)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar40->colormap->blue + iVar36)" ( (binary_expression "(int)&pIVar40->colormap->blue + iVar36" (cast_expression "(int)&pIVar40->colormap->blue" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar40->colormap->blue" & (field_expression "pIVar40->colormap->blue" (field_expression "pIVar40->colormap" identifier -> field_identifier) -> field_identifier))) + identifier) ))))) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < dVar1) {\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar1)" ( (binary_expression "0.0 < dVar1" number_literal < identifier) )) (compound_statement "{\n                      dVar1 = dVar1 / (double)DAT_002a7ff0;\n                      uVar13 = 0xff;\n                      if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar1 = dVar1 / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = dVar1 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar1 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar36 = iVar36 + 0x50;" (assignment_expression "iVar36 = iVar36 + 0x50" identifier = (binary_expression "iVar36 + 0x50" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (if_statement "if ((int)pIVar40->colors <= iVar16) goto LAB_00238890;" if (parenthesized_expression "((int)pIVar40->colors <= iVar16)" ( (binary_expression "(int)pIVar40->colors <= iVar16" (cast_expression "(int)pIVar40->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->colors" identifier -> field_identifier)) <= identifier) )) (goto_statement "goto LAB_00238890;" goto statement_identifier ;)) })) (if_statement "if (0.0 < fVar10) {\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }" if (parenthesized_expression "(0.0 < fVar10)" ( (binary_expression "0.0 < fVar10" number_literal < identifier) )) (compound_statement "{\n                    uVar13 = 0xff;\n                    if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }" { (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (fVar10 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }" if (parenthesized_expression "(fVar10 / DAT_002a7ff0 < DAT_002a7ff4)" ( (binary_expression "fVar10 / DAT_002a7ff0 < DAT_002a7ff4" (binary_expression "fVar10 / DAT_002a7ff0" identifier / identifier) < identifier) )) (compound_statement "{\n                      uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);\n                    }" { (expression_statement "uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar10 / DAT_002a7ff0 + DAT_0029f124)" identifier (argument_list "(fVar10 / DAT_002a7ff0 + DAT_0029f124)" ( (binary_expression "fVar10 / DAT_002a7ff0 + DAT_0029f124" (binary_expression "fVar10 / DAT_002a7ff0" identifier / identifier) + identifier) )))))) ;) })) })) (expression_statement "WriteBlobByte(pIVar40,uVar13);" (call_expression "WriteBlobByte(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36);" (assignment_expression "dVar1 = *(double *)((int)&pIVar40->colormap->green + iVar36)" identifier = (pointer_expression "*(double *)((int)&pIVar40->colormap->green + iVar36)" * (cast_expression "(double *)((int)&pIVar40->colormap->green + iVar36)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar40->colormap->green + iVar36)" ( (binary_expression "(int)&pIVar40->colormap->green + iVar36" (cast_expression "(int)&pIVar40->colormap->green" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar40->colormap->green" & (field_expression "pIVar40->colormap->green" (field_expression "pIVar40->colormap" identifier -> field_identifier) -> field_identifier))) + identifier) ))))) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }" if (parenthesized_expression "(0.0 < dVar1)" ( (binary_expression "0.0 < dVar1" number_literal < identifier) )) (compound_statement "{\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }" { (expression_statement "dVar1 = dVar1 / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = dVar1 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar1 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "WriteBlobByte(pIVar40,uVar13);" (call_expression "WriteBlobByte(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36);" (assignment_expression "dVar1 = *(double *)((int)&pIVar40->colormap->blue + iVar36)" identifier = (pointer_expression "*(double *)((int)&pIVar40->colormap->blue + iVar36)" * (cast_expression "(double *)((int)&pIVar40->colormap->blue + iVar36)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar40->colormap->blue + iVar36)" ( (binary_expression "(int)&pIVar40->colormap->blue + iVar36" (cast_expression "(int)&pIVar40->colormap->blue" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar40->colormap->blue" & (field_expression "pIVar40->colormap->blue" (field_expression "pIVar40->colormap" identifier -> field_identifier) -> field_identifier))) + identifier) ))))) ;) (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < dVar1) {\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }" if (parenthesized_expression "(0.0 < dVar1)" ( (binary_expression "0.0 < dVar1" number_literal < identifier) )) (compound_statement "{\n                    dVar1 = dVar1 / (double)DAT_002a7ff0;\n                    uVar13 = 0xff;\n                    if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }\n                  }" { (expression_statement "dVar1 = dVar1 / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = dVar1 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar1 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar1 < (double)DAT_002a7ff4) {\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }" if (parenthesized_expression "(dVar1 < (double)DAT_002a7ff4)" ( (binary_expression "dVar1 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                      uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                    }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar36 = iVar36 + 0x50;" (assignment_expression "iVar36 = iVar36 + 0x50" identifier = (binary_expression "iVar36 + 0x50" identifier + number_literal)) ;) (expression_statement "WriteBlobByte(pIVar40,uVar13);" (call_expression "WriteBlobByte(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar40->colors)" ( (binary_expression "iVar16 < (int)pIVar40->colors" identifier < (cast_expression "(int)pIVar40->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->colors" identifier -> field_identifier))) )) ;) })) (labeled_statement "LAB_00238890:\n              if (local_61b8 == NoCompression) goto LAB_00239b55;" statement_identifier : (if_statement "if (local_61b8 == NoCompression) goto LAB_00239b55;" if (parenthesized_expression "(local_61b8 == NoCompression)" ( (binary_expression "local_61b8 == NoCompression" identifier == identifier) )) (goto_statement "goto LAB_00239b55;" goto statement_identifier ;))) }))) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "lVar11 = MVar42 - local_61f4;" (assignment_expression "lVar11 = MVar42 - local_61f4" identifier = (binary_expression "MVar42 - local_61f4" identifier - identifier)) ;) (expression_statement "WriteBlobString(pIVar40,"\nendstream\n");" (call_expression "WriteBlobString(pIVar40,"\nendstream\n")" identifier (argument_list "(pIVar40,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) }))) (expression_statement "_local_61dc = (longdouble)lVar11;" (assignment_expression "_local_61dc = (longdouble)lVar11" identifier = (cast_expression "(longdouble)lVar11" ( (type_descriptor "longdouble" type_identifier) ) identifier)) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6)" * (cast_expression "(MagickOffsetType *)(local_6200 + uVar18 * 2 + 6)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + uVar18 * 2 + 6)" ( (binary_expression "local_6200 + uVar18 * 2 + 6" (binary_expression "local_6200 + uVar18 * 2" identifier + (binary_expression "uVar18 * 2" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "local_61f4 = (ulonglong)(uVar18 + 4);" (assignment_expression "local_61f4 = (ulonglong)(uVar18 + 4)" identifier = (call_expression "(ulonglong)(uVar18 + 4)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uVar18 + 4)" ( (binary_expression "uVar18 + 4" identifier + number_literal) )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)local_61f4,0),\n                             (int)((ulonglong)(double)local_61f4 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)local_61f4,0)" identifier (argument_list "((double)local_61f4,0)" ( (cast_expression "(double)local_61f4" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_61f4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_61f4 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_61f4 >> 0x20" (cast_expression "(ulonglong)(double)local_61f4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_61f4" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g\n",SUB84((double)lVar11,0),\n                             (int)((ulonglong)(double)lVar11 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)lVar11,0)" identifier (argument_list "((double)lVar11,0)" ( (cast_expression "(double)lVar11" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)lVar11 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)lVar11 >> 0x20)" ( (binary_expression "(ulonglong)(double)lVar11 >> 0x20" (cast_expression "(ulonglong)(double)lVar11" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)lVar11" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8)" * (cast_expression "(MagickOffsetType *)(local_6200 + uVar18 * 2 + 8)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + uVar18 * 2 + 8)" ( (binary_expression "local_6200 + uVar18 * 2 + 8" (binary_expression "local_6200 + uVar18 * 2" identifier + (binary_expression "uVar18 * 2" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "local_61f4 = (ulonglong)(uVar18 + 5);" (assignment_expression "local_61f4 = (ulonglong)(uVar18 + 5)" identifier = (call_expression "(ulonglong)(uVar18 + 5)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uVar18 + 5)" ( (binary_expression "uVar18 + 5" identifier + number_literal) )))) ;) (expression_statement "dVar1 = (double)local_61f4;" (assignment_expression "dVar1 = (double)local_61f4" identifier = (cast_expression "(double)local_61f4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar1,0),\n                             (int)((ulonglong)dVar1 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1,0)" identifier (argument_list "(dVar1,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar1 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar1 >> 0x20)" ( (binary_expression "(ulonglong)dVar1 >> 0x20" (cast_expression "(ulonglong)dVar1" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"<<\n");" (call_expression "WriteBlobString(pIVar40,"<<\n")" identifier (argument_list "(pIVar40,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (pIVar40->alpha_trait != UndefinedPixelTrait) {\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }" if (parenthesized_expression "(pIVar40->alpha_trait != UndefinedPixelTrait)" ( (binary_expression "pIVar40->alpha_trait != UndefinedPixelTrait" (field_expression "pIVar40->alpha_trait" identifier -> field_identifier) != identifier) )) (compound_statement "{\n            WriteBlobString(pIVar40,"/Type /XObject\n");\n            WriteBlobString(pIVar40,"/Subtype /Image\n");\n            uVar12 = auStack_61d8._4_2_;\n            _local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);\n            FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }\n            FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);\n            FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            _local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);\n            _local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);\n            FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");\n            FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(pIVar40,buffer);\n            FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));\n            WriteBlobString(pIVar40,buffer);\n            WriteBlobString(pIVar40,">>\n");\n            WriteBlobString(pIVar40,"stream\n");\n            MVar42 = TellBlob(pIVar40);\n            if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }\n            sVar37 = pIVar40->rows * pIVar40->columns;\n            pMVar26 = AcquireVirtualMemory(sVar37,4);\n            if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            pIVar15 = DestroyImage(pIVar40);\n            RelinquishMagickMemory(local_6200);\n            ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);\n            p_Var8 = (_Image *)image_info->adjoin;\n            pIVar40 = pIVar15;\n            while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }\n            CloseBlob(pIVar40);\n            goto LAB_002345f8;\n          }" { (expression_statement "WriteBlobString(pIVar40,"/Type /XObject\n");" (call_expression "WriteBlobString(pIVar40,"/Type /XObject\n")" identifier (argument_list "(pIVar40,"/Type /XObject\n")" ( identifier , (string_literal ""/Type /XObject\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"/Subtype /Image\n");" (call_expression "WriteBlobString(pIVar40,"/Subtype /Image\n")" identifier (argument_list "(pIVar40,"/Subtype /Image\n")" ( identifier , (string_literal ""/Subtype /Image\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar12 = auStack_61d8._4_2_;" (assignment_expression "uVar12 = auStack_61d8._4_2_" identifier = (field_expression "auStack_61d8._4_2_" identifier . field_identifier)) ;) (expression_statement "_local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40);" (assignment_expression "_local_61dc = (longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40)" identifier = (call_expression "(longdouble)((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40)" (parenthesized_expression "(longdouble)" ( identifier )) (argument_list "((unkuint10)(ushort)auStack_61d8._4_2_ << 0x40)" ( (binary_expression "(unkuint10)(ushort)auStack_61d8._4_2_ << 0x40" (cast_expression "(unkuint10)(ushort)auStack_61d8._4_2_" ( (type_descriptor "unkuint10" type_identifier) ) (cast_expression "(ushort)auStack_61d8._4_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "auStack_61d8._4_2_" identifier . field_identifier))) << number_literal) )))) ;) (expression_statement "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene);" (assignment_expression "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene)" identifier = (cast_expression "(longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->scene)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "CONCAT64(auStack_61d8._0_6_,pIVar40->scene)" identifier (argument_list "(auStack_61d8._0_6_,pIVar40->scene)" ( (field_expression "auStack_61d8._0_6_" identifier . field_identifier) , (field_expression "pIVar40->scene" identifier -> field_identifier) ))))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Name /Ma%.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20))" ( identifier , number_literal , (string_literal ""/Name /Ma%.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)_local_61dc,0)" identifier (argument_list "((double)_local_61dc,0)" ( (cast_expression "(double)_local_61dc" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)_local_61dc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)_local_61dc >> 0x20)" ( (binary_expression "(ulonglong)(double)_local_61dc >> 0x20" (cast_expression "(ulonglong)(double)_local_61dc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)_local_61dc" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (if_statement "if (local_61b8 == NoCompression) {\n              pcVar23 = "ASCII85Decode";\n            }\n            else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }" if (parenthesized_expression "(local_61b8 == NoCompression)" ( (binary_expression "local_61b8 == NoCompression" identifier == identifier) )) (compound_statement "{\n              pcVar23 = "ASCII85Decode";\n            }" { (expression_statement "pcVar23 = "ASCII85Decode";" (assignment_expression "pcVar23 = "ASCII85Decode"" identifier = (string_literal ""ASCII85Decode"" " string_content ")) ;) }) (else_clause "else if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }" else (if_statement "if (local_61b8 == ZipCompression) {\n              pcVar23 = "FlateDecode";\n            }\n            else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }" if (parenthesized_expression "(local_61b8 == ZipCompression)" ( (binary_expression "local_61b8 == ZipCompression" identifier == identifier) )) (compound_statement "{\n              pcVar23 = "FlateDecode";\n            }" { (expression_statement "pcVar23 = "FlateDecode";" (assignment_expression "pcVar23 = "FlateDecode"" identifier = (string_literal ""FlateDecode"" " string_content ")) ;) }) (else_clause "else if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }" else (if_statement "if (local_61b8 == LZWCompression) {\n              pcVar23 = "LZWDecode";\n            }\n            else {\n              pcVar23 = "RunLengthDecode";\n            }" if (parenthesized_expression "(local_61b8 == LZWCompression)" ( (binary_expression "local_61b8 == LZWCompression" identifier == identifier) )) (compound_statement "{\n              pcVar23 = "LZWDecode";\n            }" { (expression_statement "pcVar23 = "LZWDecode";" (assignment_expression "pcVar23 = "LZWDecode"" identifier = (string_literal ""LZWDecode"" " string_content ")) ;) }) (else_clause "else {\n              pcVar23 = "RunLengthDecode";\n            }" else (compound_statement "{\n              pcVar23 = "RunLengthDecode";\n            }" { (expression_statement "pcVar23 = "RunLengthDecode";" (assignment_expression "pcVar23 = "RunLengthDecode"" identifier = (string_literal ""RunLengthDecode"" " string_content ")) ;) }))))))) (expression_statement "FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23);" (call_expression "FormatLocaleString(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23)" identifier (argument_list "(buffer,0x1000,"/Filter [ /%s ]\n",pcVar23)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "_local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);" (assignment_expression "_local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40)" identifier = (call_expression "(longdouble)((unkuint10)(ushort)uVar12 << 0x40)" (parenthesized_expression "(longdouble)" ( identifier )) (argument_list "((unkuint10)(ushort)uVar12 << 0x40)" ( (binary_expression "(unkuint10)(ushort)uVar12 << 0x40" (cast_expression "(unkuint10)(ushort)uVar12" ( (type_descriptor "unkuint10" type_identifier) ) (cast_expression "(ushort)uVar12" ( (type_descriptor "ushort" type_identifier) ) identifier)) << number_literal) )))) ;) (expression_statement "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns);" (assignment_expression "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns)" identifier = (cast_expression "(longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->columns)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "CONCAT64(auStack_61d8._0_6_,pIVar40->columns)" identifier (argument_list "(auStack_61d8._0_6_,pIVar40->columns)" ( (field_expression "auStack_61d8._0_6_" identifier . field_identifier) , (field_expression "pIVar40->columns" identifier -> field_identifier) ))))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Width %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20))" ( identifier , number_literal , (string_literal ""/Width %.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)_local_61dc,0)" identifier (argument_list "((double)_local_61dc,0)" ( (cast_expression "(double)_local_61dc" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)_local_61dc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)_local_61dc >> 0x20)" ( (binary_expression "(ulonglong)(double)_local_61dc >> 0x20" (cast_expression "(ulonglong)(double)_local_61dc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)_local_61dc" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "_local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40);" (assignment_expression "_local_61dc = (longdouble)((unkuint10)(ushort)uVar12 << 0x40)" identifier = (call_expression "(longdouble)((unkuint10)(ushort)uVar12 << 0x40)" (parenthesized_expression "(longdouble)" ( identifier )) (argument_list "((unkuint10)(ushort)uVar12 << 0x40)" ( (binary_expression "(unkuint10)(ushort)uVar12 << 0x40" (cast_expression "(unkuint10)(ushort)uVar12" ( (type_descriptor "unkuint10" type_identifier) ) (cast_expression "(ushort)uVar12" ( (type_descriptor "ushort" type_identifier) ) identifier)) << number_literal) )))) ;) (expression_statement "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows);" (assignment_expression "_local_61dc = (longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows)" identifier = (cast_expression "(longdouble)CONCAT64(auStack_61d8._0_6_,pIVar40->rows)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "CONCAT64(auStack_61d8._0_6_,pIVar40->rows)" identifier (argument_list "(auStack_61d8._0_6_,pIVar40->rows)" ( (field_expression "auStack_61d8._0_6_" identifier . field_identifier) , (field_expression "pIVar40->rows" identifier -> field_identifier) ))))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Height %.20g\n",SUB84((double)_local_61dc,0),\n                               (int)((ulonglong)(double)_local_61dc >> 0x20))" ( identifier , number_literal , (string_literal ""/Height %.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)_local_61dc,0)" identifier (argument_list "((double)_local_61dc,0)" ( (cast_expression "(double)_local_61dc" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)_local_61dc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)_local_61dc >> 0x20)" ( (binary_expression "(ulonglong)(double)_local_61dc >> 0x20" (cast_expression "(ulonglong)(double)_local_61dc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)_local_61dc" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n");" (call_expression "WriteBlobString(pIVar40,"/ColorSpace /DeviceGray\n")" identifier (argument_list "(pIVar40,"/ColorSpace /DeviceGray\n")" ( identifier , (string_literal ""/ColorSpace /DeviceGray\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (call_expression "FormatLocaleString(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" identifier (argument_list "(buffer,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" ( identifier , number_literal , (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ") , (field_expression "local_61cc._0_4_" identifier . field_identifier) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20))" identifier (argument_list "(buffer,0x1000,"/Length %.20g 0 R\n",\n                               SUB84(dVar1 + (double)DAT_0029f718,0),\n                               (int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20))" ( identifier , number_literal , (string_literal ""/Length %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar1 + (double)DAT_0029f718,0)" identifier (argument_list "(dVar1 + (double)DAT_0029f718,0)" ( (binary_expression "dVar1 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20)" ( (binary_expression "(ulonglong)(dVar1 + (double)DAT_0029f718) >> 0x20" (call_expression "(ulonglong)(dVar1 + (double)DAT_0029f718)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar1 + (double)DAT_0029f718)" ( (binary_expression "dVar1 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,">>\n");" (call_expression "WriteBlobString(pIVar40,">>\n")" identifier (argument_list "(pIVar40,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(pIVar40,"stream\n");" (call_expression "WriteBlobString(pIVar40,"stream\n")" identifier (argument_list "(pIVar40,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (if_statement "if (local_61b8 == NoCompression) {\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }" if (parenthesized_expression "(local_61b8 == NoCompression)" ( (binary_expression "local_61b8 == NoCompression" identifier == identifier) )) (compound_statement "{\n              Ascii85Initialize(pIVar40);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              Ascii85Flush(pIVar40);\nLAB_00237731:\n              MVar43 = TellBlob(pIVar40);\n              WriteBlobString(pIVar40,"\nendstream\n");\n              _local_61dc = (longdouble)(MVar43 - MVar42);\n              goto LAB_00236be1;\n            }" { (expression_statement "Ascii85Initialize(pIVar40);" (call_expression "Ascii85Initialize(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (if_statement "if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }" if (parenthesized_expression "(0 < (int)pIVar40->rows)" ( (binary_expression "0 < (int)pIVar40->rows" number_literal < (cast_expression "(int)pIVar40->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->rows" identifier -> field_identifier))) )) (compound_statement "{\n                local_6224._0_4_ = (Image *)0x0;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }" { (expression_statement "local_6224._0_4_ = (Image *)0x0;" (assignment_expression "local_6224._0_4_ = (Image *)0x0" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);" do (compound_statement "{\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception)" identifier (argument_list "(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception)" ( identifier , number_literal , (cast_expression "(ssize_t)(Image *)local_6224" ( (type_descriptor "ssize_t" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (field_expression "pIVar40->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)pIVar40->columns) {\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }" if (parenthesized_expression "(0 < (int)pIVar40->columns)" ( (binary_expression "0 < (int)pIVar40->columns" number_literal < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) (compound_statement "{\n                    iVar16 = 0;\n                    do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);\n                  }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    } while (iVar16 < (int)pIVar40->columns);" do (compound_statement "{\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      iVar16 = iVar16 + 1;\n                      Ascii85Encode(pIVar40,uVar13);\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                    }" { (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }" if (parenthesized_expression "(pIVar40->channel_map[4].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar40->channel_map[4].traits != UndefinedPixelTrait" (field_expression "pIVar40->channel_map[4].traits" (subscript_expression "pIVar40->channel_map[4]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }" { (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < pQVar25[pIVar40->channel_map[4].offset])" ( (binary_expression "0.0 < pQVar25[pIVar40->channel_map[4].offset]" number_literal < (subscript_expression "pQVar25[pIVar40->channel_map[4].offset]" identifier [ (field_expression "pIVar40->channel_map[4].offset" (subscript_expression "pIVar40->channel_map[4]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) )) (compound_statement "{\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar40->channel_map[4].offset]" identifier [ (field_expression "pIVar40->channel_map[4].offset" (subscript_expression "pIVar40->channel_map[4]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "((double)DAT_002a7ff4 <= dVar1)" ( (binary_expression "(double)DAT_002a7ff4 <= dVar1" (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n                            uVar13 = 0xff;\n                          }" { (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) }) (else_clause "else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" else (compound_statement "{\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) }))) })) })) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(pIVar40,uVar13);" (call_expression "Ascii85Encode(pIVar40,uVar13)" identifier (argument_list "(pIVar40,uVar13)" ( identifier , identifier ))) ;) (expression_statement "pQVar25 = pQVar25 + pIVar40->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar40->number_channels" identifier = (binary_expression "pQVar25 + pIVar40->number_channels" identifier + (field_expression "pIVar40->number_channels" identifier -> field_identifier))) ;) }) while (parenthesized_expression "(iVar16 < (int)pIVar40->columns)" ( (binary_expression "iVar16 < (int)pIVar40->columns" identifier < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);" (assignment_expression "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1)" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)((int)(Image *)local_6224 + 1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(Image *)local_6224 + 1)" ( (binary_expression "(int)(Image *)local_6224 + 1" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) }) while (parenthesized_expression "((int)(Image *)local_6224 < (int)pIVar40->rows)" ( (binary_expression "(int)(Image *)local_6224 < (int)pIVar40->rows" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (cast_expression "(int)pIVar40->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->rows" identifier -> field_identifier))) )) ;) })) (expression_statement "Ascii85Flush(pIVar40);" (call_expression "Ascii85Flush(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (labeled_statement "LAB_00237731:\n              MVar43 = TellBlob(pIVar40);" statement_identifier : (expression_statement "MVar43 = TellBlob(pIVar40);" (assignment_expression "MVar43 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;)) (expression_statement "WriteBlobString(pIVar40,"\nendstream\n");" (call_expression "WriteBlobString(pIVar40,"\nendstream\n")" identifier (argument_list "(pIVar40,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "_local_61dc = (longdouble)(MVar43 - MVar42);" (assignment_expression "_local_61dc = (longdouble)(MVar43 - MVar42)" identifier = (call_expression "(longdouble)(MVar43 - MVar42)" (parenthesized_expression "(longdouble)" ( identifier )) (argument_list "(MVar43 - MVar42)" ( (binary_expression "MVar43 - MVar42" identifier - identifier) )))) ;) (goto_statement "goto LAB_00236be1;" goto statement_identifier ;) })) (expression_statement "sVar37 = pIVar40->rows * pIVar40->columns;" (assignment_expression "sVar37 = pIVar40->rows * pIVar40->columns" identifier = (binary_expression "pIVar40->rows * pIVar40->columns" (field_expression "pIVar40->rows" identifier -> field_identifier) * (field_expression "pIVar40->columns" identifier -> field_identifier))) ;) (expression_statement "pMVar26 = AcquireVirtualMemory(sVar37,4);" (assignment_expression "pMVar26 = AcquireVirtualMemory(sVar37,4)" identifier = (call_expression "AcquireVirtualMemory(sVar37,4)" identifier (argument_list "(sVar37,4)" ( identifier , number_literal )))) ;) (if_statement "if (pMVar26 != (MemoryInfo *)0x0) {\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }" if (parenthesized_expression "(pMVar26 != (MemoryInfo *)0x0)" ( (binary_expression "pMVar26 != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);\n              if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }\n              if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              RelinquishVirtualMemory(pMVar26);\n              if (MVar14 == MagickFalse) goto LAB_0023707e;\n              goto LAB_00237731;\n            }" { (expression_statement "puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26);" (assignment_expression "puVar24 = (uchar *)GetVirtualMemoryBlob(pMVar26)" identifier = (cast_expression "(uchar *)GetVirtualMemoryBlob(pMVar26)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(pMVar26)" identifier (argument_list "(pMVar26)" ( identifier ))))) ;) (if_statement "if (0 < (int)pIVar40->rows) {\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }" if (parenthesized_expression "(0 < (int)pIVar40->rows)" ( (binary_expression "0 < (int)pIVar40->rows" number_literal < (cast_expression "(int)pIVar40->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->rows" identifier -> field_identifier))) )) (compound_statement "{\n                local_6224._0_4_ = (Image *)0x0;\n                puVar31 = puVar24;\n                do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);\n              }" { (expression_statement "local_6224._0_4_ = (Image *)0x0;" (assignment_expression "local_6224._0_4_ = (Image *)0x0" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar31 = puVar24;" (assignment_expression "puVar31 = puVar24" identifier = identifier) ;) (do_statement "do {\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                } while ((int)(Image *)local_6224 < (int)pIVar40->rows);" do (compound_statement "{\n                  pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);\n                  if (pQVar25 == (Quantum *)0x0) break;\n                  puVar35 = puVar31;\n                  puVar34 = puVar31;\n                  if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }\n                  local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);\n                  puVar31 = puVar34;\n                }" { (expression_statement "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception);" (assignment_expression "pQVar25 = GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception)" identifier = (call_expression "GetVirtualPixels(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception)" identifier (argument_list "(pIVar40,0,(ssize_t)(Image *)local_6224,pIVar40->columns\n                                             ,1,exception)" ( identifier , number_literal , (cast_expression "(ssize_t)(Image *)local_6224" ( (type_descriptor "ssize_t" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (field_expression "pIVar40->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar25 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar25 == (Quantum *)0x0)" ( (binary_expression "pQVar25 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "puVar35 = puVar31;" (assignment_expression "puVar35 = puVar31" identifier = identifier) ;) (expression_statement "puVar34 = puVar31;" (assignment_expression "puVar34 = puVar31" identifier = identifier) ;) (if_statement "if (0 < (int)pIVar40->columns) {\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }" if (parenthesized_expression "(0 < (int)pIVar40->columns)" ( (binary_expression "0 < (int)pIVar40->columns" number_literal < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) (compound_statement "{\n                    do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);\n                  }" { (do_statement "do {\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    } while ((int)puVar34 - (int)puVar31 < (int)pIVar40->columns);" do (compound_statement "{\n                      puVar34 = puVar35 + 1;\n                      uVar13 = 0xff;\n                      if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *puVar35 = uVar13;\n                      pQVar25 = pQVar25 + pIVar40->number_channels;\n                      puVar35 = puVar34;\n                    }" { (expression_statement "puVar34 = puVar35 + 1;" (assignment_expression "puVar34 = puVar35 + 1" identifier = (binary_expression "puVar35 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) (if_statement "if (pIVar40->channel_map[4].traits != UndefinedPixelTrait) {\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }" if (parenthesized_expression "(pIVar40->channel_map[4].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar40->channel_map[4].traits != UndefinedPixelTrait" (field_expression "pIVar40->channel_map[4].traits" (subscript_expression "pIVar40->channel_map[4]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                        uVar13 = '\0';\n                        if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }\n                      }" { (expression_statement "uVar13 = '\0';" (assignment_expression "uVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < pQVar25[pIVar40->channel_map[4].offset]) {\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < pQVar25[pIVar40->channel_map[4].offset])" ( (binary_expression "0.0 < pQVar25[pIVar40->channel_map[4].offset]" number_literal < (subscript_expression "pQVar25[pIVar40->channel_map[4].offset]" identifier [ (field_expression "pIVar40->channel_map[4].offset" (subscript_expression "pIVar40->channel_map[4]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) )) (compound_statement "{\n                          dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0;" (assignment_expression "dVar1 = pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0" identifier = (binary_expression "pQVar25[pIVar40->channel_map[4].offset] / (double)DAT_002a7ff0" (subscript_expression "pQVar25[pIVar40->channel_map[4].offset]" identifier [ (field_expression "pIVar40->channel_map[4].offset" (subscript_expression "pIVar40->channel_map[4]" (field_expression "pIVar40->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ]) / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if ((double)DAT_002a7ff4 <= dVar1) {\n                            uVar13 = 0xff;\n                          }\n                          else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "((double)DAT_002a7ff4 <= dVar1)" ( (binary_expression "(double)DAT_002a7ff4 <= dVar1" (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n                            uVar13 = 0xff;\n                          }" { (expression_statement "uVar13 = 0xff;" (assignment_expression "uVar13 = 0xff" identifier = number_literal) ;) }) (else_clause "else {\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" else (compound_statement "{\n                            uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);\n                          }" { (expression_statement "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124);" (assignment_expression "uVar13 = (uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" identifier = (cast_expression "(uchar)(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "uchar" type_identifier) ) (cast_expression "(short)ROUND(dVar1 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar1 + (double)DAT_0029f124)" identifier (argument_list "(dVar1 + (double)DAT_0029f124)" ( (binary_expression "dVar1 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) }))) })) })) (expression_statement "*puVar35 = uVar13;" (assignment_expression "*puVar35 = uVar13" (pointer_expression "*puVar35" * identifier) = identifier) ;) (expression_statement "pQVar25 = pQVar25 + pIVar40->number_channels;" (assignment_expression "pQVar25 = pQVar25 + pIVar40->number_channels" identifier = (binary_expression "pQVar25 + pIVar40->number_channels" identifier + (field_expression "pIVar40->number_channels" identifier -> field_identifier))) ;) (expression_statement "puVar35 = puVar34;" (assignment_expression "puVar35 = puVar34" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar34 - (int)puVar31 < (int)pIVar40->columns)" ( (binary_expression "(int)puVar34 - (int)puVar31 < (int)pIVar40->columns" (binary_expression "(int)puVar34 - (int)puVar31" (cast_expression "(int)puVar34" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar31" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)pIVar40->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1);" (assignment_expression "local_6224._0_4_ = (Image *)((int)(Image *)local_6224 + 1)" (field_expression "local_6224._0_4_" identifier . field_identifier) = (cast_expression "(Image *)((int)(Image *)local_6224 + 1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(Image *)local_6224 + 1)" ( (binary_expression "(int)(Image *)local_6224 + 1" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ;) (expression_statement "puVar31 = puVar34;" (assignment_expression "puVar31 = puVar34" identifier = identifier) ;) }) while (parenthesized_expression "((int)(Image *)local_6224 < (int)pIVar40->rows)" ( (binary_expression "(int)(Image *)local_6224 < (int)pIVar40->rows" (cast_expression "(int)(Image *)local_6224" ( (type_descriptor "int" primitive_type) ) (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (cast_expression "(int)pIVar40->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar40->rows" identifier -> field_identifier))) )) ;) })) (if_statement "if (local_61b8 == LZWCompression) {\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }\n              else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }" if (parenthesized_expression "(local_61b8 == LZWCompression)" ( (binary_expression "local_61b8 == LZWCompression" identifier == identifier) )) (compound_statement "{\n                MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }" { (expression_statement "MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception);" (assignment_expression "MVar14 = LZWEncodeImage(pIVar40,sVar37,puVar24,exception)" identifier = (call_expression "LZWEncodeImage(pIVar40,sVar37,puVar24,exception)" identifier (argument_list "(pIVar40,sVar37,puVar24,exception)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }" else (compound_statement "{\n                MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);\n              }" { (expression_statement "MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception);" (assignment_expression "MVar14 = PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception)" identifier = (call_expression "PackbitsEncodeImage(pIVar40,sVar37,puVar24,exception)" identifier (argument_list "(pIVar40,sVar37,puVar24,exception)" ( identifier , identifier , identifier , identifier )))) ;) }))) (expression_statement "RelinquishVirtualMemory(pMVar26);" (call_expression "RelinquishVirtualMemory(pMVar26)" identifier (argument_list "(pMVar26)" ( identifier ))) ;) (if_statement "if (MVar14 == MagickFalse) goto LAB_0023707e;" if (parenthesized_expression "(MVar14 == MagickFalse)" ( (binary_expression "MVar14 == MagickFalse" identifier == identifier) )) (goto_statement "goto LAB_0023707e;" goto statement_identifier ;)) (goto_statement "goto LAB_00237731;" goto statement_identifier ;) })) (expression_statement "pIVar15 = DestroyImage(pIVar40);" (assignment_expression "pIVar15 = DestroyImage(pIVar40)" identifier = (call_expression "DestroyImage(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename);" (call_expression "ThrowMagickException\n                      (exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename)" identifier (argument_list "(exception,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,\n                       "MemoryAllocationFailed","`%s\'",pIVar15->filename)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , number_literal , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "pIVar15->filename" identifier -> field_identifier) ))) ;) (expression_statement "p_Var8 = (_Image *)image_info->adjoin;" (assignment_expression "p_Var8 = (_Image *)image_info->adjoin" identifier = (cast_expression "(_Image *)image_info->adjoin" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image_info->adjoin" identifier -> field_identifier))) ;) (expression_statement "pIVar40 = pIVar15;" (assignment_expression "pIVar40 = pIVar15" identifier = identifier) ;) (while_statement "while (pIVar20 = pIVar15, p_Var8 != (_Image *)0x0) {\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }" while (parenthesized_expression "(pIVar20 = pIVar15, p_Var8 != (_Image *)0x0)" ( (comma_expression "pIVar20 = pIVar15, p_Var8 != (_Image *)0x0" (assignment_expression "pIVar20 = pIVar15" identifier = identifier) , (binary_expression "p_Var8 != (_Image *)0x0" identifier != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              p_Var8 = pIVar20->previous;\n              pIVar15 = p_Var8;\n              pIVar40 = pIVar20;\n            }" { (expression_statement "p_Var8 = pIVar20->previous;" (assignment_expression "p_Var8 = pIVar20->previous" identifier = (field_expression "pIVar20->previous" identifier -> field_identifier)) ;) (expression_statement "pIVar15 = p_Var8;" (assignment_expression "pIVar15 = p_Var8" identifier = identifier) ;) (expression_statement "pIVar40 = pIVar20;" (assignment_expression "pIVar40 = pIVar20" identifier = identifier) ;) })) (expression_statement "CloseBlob(pIVar40);" (call_expression "CloseBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) (goto_statement "goto LAB_002345f8;" goto statement_identifier ;) })) (expression_statement "WriteBlobString(pIVar40,">>\n");" (call_expression "WriteBlobString(pIVar40,">>\n")" identifier (argument_list "(pIVar40,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (labeled_statement "LAB_00236be1:\n          WriteBlobString(pIVar40,"endobj\n");" statement_identifier : (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;)) (expression_statement "local_61f4._0_4_ = uVar18 + 6;" (assignment_expression "local_61f4._0_4_ = uVar18 + 6" (field_expression "local_61f4._0_4_" identifier . field_identifier) = (binary_expression "uVar18 + 6" identifier + number_literal)) ;) (expression_statement "MVar42 = TellBlob(pIVar40);" (assignment_expression "MVar42 = TellBlob(pIVar40)" identifier = (call_expression "TellBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "local_61cc = (double)(ulonglong)(uint)local_61f4;" (assignment_expression "local_61cc = (double)(ulonglong)(uint)local_61f4" identifier = (cast_expression "(double)(ulonglong)(uint)local_61f4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)(uint)local_61f4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier)))) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10)" * (cast_expression "(MagickOffsetType *)(local_6200 + uVar18 * 2 + 10)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + uVar18 * 2 + 10)" ( (binary_expression "local_6200 + uVar18 * 2 + 10" (binary_expression "local_6200 + uVar18 * 2" identifier + (binary_expression "uVar18 * 2" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84((double)(longlong)local_61cc,0),\n                             (int)((ulonglong)(double)(longlong)local_61cc >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_61cc,0)" identifier (argument_list "((double)(longlong)local_61cc,0)" ( (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61cc >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61cc >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61cc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g\n",SUB84((double)_local_61dc,0),\n                             (int)((ulonglong)(double)_local_61dc >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)_local_61dc,0)" identifier (argument_list "((double)_local_61dc,0)" ( (cast_expression "(double)_local_61dc" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)_local_61dc >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)_local_61dc >> 0x20)" ( (binary_expression "(ulonglong)(double)_local_61dc >> 0x20" (cast_expression "(ulonglong)(double)_local_61dc" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)_local_61dc" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(pIVar40,buffer);" (call_expression "WriteBlobString(pIVar40,buffer)" identifier (argument_list "(pIVar40,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(pIVar40,"endobj\n");" (call_expression "WriteBlobString(pIVar40,"endobj\n")" identifier (argument_list "(pIVar40,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pIVar15 = GetNextImageInList(pIVar40);" (assignment_expression "pIVar15 = GetNextImageInList(pIVar40)" identifier = (call_expression "GetNextImageInList(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "local_6224._0_4_ = pIVar40;" (assignment_expression "local_6224._0_4_ = pIVar40" (field_expression "local_6224._0_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (pIVar15 == (Image *)0x0) goto LAB_00239247;" if (parenthesized_expression "(pIVar15 == (Image *)0x0)" ( (binary_expression "pIVar15 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00239247;" goto statement_identifier ;)) (expression_statement "local_6224._0_4_ = SyncNextImageInList(pIVar40);" (assignment_expression "local_6224._0_4_ = SyncNextImageInList(pIVar40)" (field_expression "local_6224._0_4_" identifier . field_identifier) = (call_expression "SyncNextImageInList(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier )))) ;) (expression_statement "iVar16 = local_6140 + (uint)(0xfffffffe < local_6144);" (assignment_expression "iVar16 = local_6140 + (uint)(0xfffffffe < local_6144)" identifier = (binary_expression "local_6140 + (uint)(0xfffffffe < local_6144)" identifier + (call_expression "(uint)(0xfffffffe < local_6144)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < local_6144)" ( (binary_expression "0xfffffffe < local_6144" number_literal < identifier) ))))) ;) (expression_statement "_local_61dc = CONCAT44(iVar16,local_6144 + 1);" (assignment_expression "_local_61dc = CONCAT44(iVar16,local_6144 + 1)" identifier = (call_expression "CONCAT44(iVar16,local_6144 + 1)" identifier (argument_list "(iVar16,local_6144 + 1)" ( identifier , (binary_expression "local_6144 + 1" identifier + number_literal) )))) ;) (expression_statement "MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21);" (assignment_expression "MVar14 = SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21)" identifier = (call_expression "SetImageProgress((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21)" identifier (argument_list "((Image *)local_6224,"Save/Images",\n                                    CONCAT44(local_6140,local_6144),(ulonglong)sVar21)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Save/Images"" " string_content ") , (call_expression "CONCAT44(local_6140,local_6144)" identifier (argument_list "(local_6140,local_6144)" ( identifier , identifier ))) , (cast_expression "(ulonglong)sVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) )))) ;) (if_statement "if ((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))\n          goto LAB_00239247;" if (parenthesized_expression "((MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse))" ( (binary_expression "(MVar14 == MagickFalse) ||\n             (local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse)" (parenthesized_expression "(MVar14 == MagickFalse)" ( (binary_expression "MVar14 == MagickFalse" identifier == identifier) )) || (parenthesized_expression "(local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse)" ( (comma_expression "local_6144 = local_6144 + 1, local_6140 = iVar16, image_info->adjoin == MagickFalse" (assignment_expression "local_6144 = local_6144 + 1" identifier = (binary_expression "local_6144 + 1" identifier + number_literal)) , (comma_expression "local_6140 = iVar16, image_info->adjoin == MagickFalse" (assignment_expression "local_6140 = iVar16" identifier = identifier) , (binary_expression "image_info->adjoin == MagickFalse" (field_expression "image_info->adjoin" identifier -> field_identifier) == identifier))) ))) )) (goto_statement "goto LAB_00239247;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (while_statement "while (pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0) {\n        local_61ec = local_61ec + 1;\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        iVar36 = iVar16;\n        if (pSVar17 != (StringInfo *)0x0) {\n          iVar36 = iVar16 + 2;\n        }\n        iVar16 = iVar36 + 0xe;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20));\n        WriteBlobString(image,buffer);\n        pIVar15 = GetNextImageInList(pIVar15);\n      }" while (parenthesized_expression "(pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0)" ( (comma_expression "pIVar20 = GetNextImageInList(pIVar15), pIVar20 != (Image *)0x0" (assignment_expression "pIVar20 = GetNextImageInList(pIVar15)" identifier = (call_expression "GetNextImageInList(pIVar15)" identifier (argument_list "(pIVar15)" ( identifier )))) , (binary_expression "pIVar20 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n        local_61ec = local_61ec + 1;\n        pSVar17 = GetImageProfile(pIVar15,"icc");\n        iVar36 = iVar16;\n        if (pSVar17 != (StringInfo *)0x0) {\n          iVar36 = iVar16 + 2;\n        }\n        iVar16 = iVar36 + 0xe;\n        FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20));\n        WriteBlobString(image,buffer);\n        pIVar15 = GetNextImageInList(pIVar15);\n      }" { (expression_statement "local_61ec = local_61ec + 1;" (assignment_expression "local_61ec = local_61ec + 1" identifier = (binary_expression "local_61ec + 1" identifier + number_literal)) ;) (expression_statement "pSVar17 = GetImageProfile(pIVar15,"icc");" (assignment_expression "pSVar17 = GetImageProfile(pIVar15,"icc")" identifier = (call_expression "GetImageProfile(pIVar15,"icc")" identifier (argument_list "(pIVar15,"icc")" ( identifier , (string_literal ""icc"" " string_content ") )))) ;) (expression_statement "iVar36 = iVar16;" (assignment_expression "iVar36 = iVar16" identifier = identifier) ;) (if_statement "if (pSVar17 != (StringInfo *)0x0) {\n          iVar36 = iVar16 + 2;\n        }" if (parenthesized_expression "(pSVar17 != (StringInfo *)0x0)" ( (binary_expression "pSVar17 != (StringInfo *)0x0" identifier != (cast_expression "(StringInfo *)0x0" ( (type_descriptor "StringInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar36 = iVar16 + 2;\n        }" { (expression_statement "iVar36 = iVar16 + 2;" (assignment_expression "iVar36 = iVar16 + 2" identifier = (binary_expression "iVar16 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar16 = iVar36 + 0xe;" (assignment_expression "iVar16 = iVar36 + 0xe" identifier = (binary_expression "iVar36 + 0xe" identifier + number_literal)) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g 0 R ",SUB84((double)iVar36,0),\n                           (int)((ulonglong)(double)iVar36 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g 0 R "" " string_content ") , (call_expression "SUB84((double)iVar36,0)" identifier (argument_list "((double)iVar36,0)" ( (cast_expression "(double)iVar36" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)iVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)iVar36 >> 0x20)" ( (binary_expression "(ulonglong)(double)iVar36 >> 0x20" (cast_expression "(ulonglong)(double)iVar36" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)iVar36" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "pIVar15 = GetNextImageInList(pIVar15);" (assignment_expression "pIVar15 = GetNextImageInList(pIVar15)" identifier = (call_expression "GetNextImageInList(pIVar15)" identifier (argument_list "(pIVar15)" ( identifier )))) ;) })) (expression_statement "local_6200 = (uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8);" (assignment_expression "local_6200 = (uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8)" identifier = (cast_expression "(uint *)ResizeQuantumMemory(local_6200,iVar16 + 0x800,8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ResizeQuantumMemory(local_6200,iVar16 + 0x800,8)" identifier (argument_list "(local_6200,iVar16 + 0x800,8)" ( identifier , (binary_expression "iVar16 + 0x800" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (local_6200 != (uint *)0x0) goto LAB_00234b1f;" if (parenthesized_expression "(local_6200 != (uint *)0x0)" ( (binary_expression "local_6200 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00234b1f;" goto statement_identifier ;)) (expression_statement "ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23);" (call_expression "ThrowMagickException\n                (exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23)" identifier (argument_list "(exception,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,\n                 "MemoryAllocationFailed","`%s\'",pcVar23)" ( identifier , (string_literal ""coders/pdf.c"" " string_content ") , (string_literal ""WritePDFImage"" " string_content ") , number_literal , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "p_Var8 = (_Image *)image_info->adjoin;" (assignment_expression "p_Var8 = (_Image *)image_info->adjoin" identifier = (cast_expression "(_Image *)image_info->adjoin" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image_info->adjoin" identifier -> field_identifier))) ;) (while_statement "while (pIVar15 = image, p_Var8 != (_Image *)0x0) {\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }" while (parenthesized_expression "(pIVar15 = image, p_Var8 != (_Image *)0x0)" ( (comma_expression "pIVar15 = image, p_Var8 != (_Image *)0x0" (assignment_expression "pIVar15 = image" identifier = identifier) , (binary_expression "p_Var8 != (_Image *)0x0" identifier != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n        p_Var8 = pIVar15->previous;\n        image = p_Var8;\n        pIVar40 = pIVar15;\n      }" { (expression_statement "p_Var8 = pIVar15->previous;" (assignment_expression "p_Var8 = pIVar15->previous" identifier = (field_expression "pIVar15->previous" identifier -> field_identifier)) ;) (expression_statement "image = p_Var8;" (assignment_expression "image = p_Var8" identifier = identifier) ;) (expression_statement "pIVar40 = pIVar15;" (assignment_expression "pIVar40 = pIVar15" identifier = identifier) ;) })) }))) (labeled_statement "LAB_00239234:\n    MVar14 = MagickFalse;" statement_identifier : (expression_statement "MVar14 = MagickFalse;" (assignment_expression "MVar14 = MagickFalse" identifier = identifier) ;)) (expression_statement "CloseBlob(pIVar40);" (call_expression "CloseBlob(pIVar40)" identifier (argument_list "(pIVar40)" ( identifier ))) ;) }))) (goto_statement "goto LAB_002345fa;" goto statement_identifier ;) (labeled_statement "LAB_00239247:\n  MVar42 = TellBlob((Image *)local_6224);" statement_identifier : (expression_statement "MVar42 = TellBlob((Image *)local_6224);" (assignment_expression "MVar42 = TellBlob((Image *)local_6224)" identifier = (call_expression "TellBlob((Image *)local_6224)" identifier (argument_list "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) (expression_statement "local_61fc = (ulonglong)(uVar18 + 7);" (assignment_expression "local_61fc = (ulonglong)(uVar18 + 7)" identifier = (call_expression "(ulonglong)(uVar18 + 7)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uVar18 + 7)" ( (binary_expression "uVar18 + 7" identifier + number_literal) )))) ;) (expression_statement "dVar45 = (double)local_61fc;" (assignment_expression "dVar45 = (double)local_61fc" identifier = (cast_expression "(double)local_61fc" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42;" (assignment_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2) = MVar42" (pointer_expression "*(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2)" * (cast_expression "(MagickOffsetType *)(local_6200 + (uint)local_61f4 * 2)" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6200 + (uint)local_61f4 * 2)" ( (binary_expression "local_6200 + (uint)local_61f4 * 2" identifier + (binary_expression "(uint)local_61f4 * 2" (cast_expression "(uint)local_61f4" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) )))) = identifier) ;) (expression_statement "uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20);" (assignment_expression "uVar46 = (undefined4)((ulonglong)dVar45 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)dVar45 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)dVar45 >> 0x20)" ( (binary_expression "(ulonglong)dVar45 >> 0x20" (cast_expression "(ulonglong)dVar45" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46);" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46)" identifier (argument_list "(buffer,0x1000,"%.20g 0 obj\n",SUB84(dVar45,0),uVar46)" ( identifier , number_literal , (string_literal ""%.20g 0 obj\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar45,0)" identifier (argument_list "(dVar45,0)" ( identifier , number_literal ))) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"<<\n");" (call_expression "WriteBlobString((Image *)local_6224,"<<\n")" identifier (argument_list "((Image *)local_6224,"<<\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar16 = LocaleCompare(pcVar28,"PDFA");" (assignment_expression "iVar16 = LocaleCompare(pcVar28,"PDFA")" identifier = (call_expression "LocaleCompare(pcVar28,"PDFA")" identifier (argument_list "(pcVar28,"PDFA")" ( identifier , (string_literal ""PDFA"" " string_content ") )))) ;) (if_statement "if (iVar16 == 0) {\n    pcVar23 = EscapeParenthesis(basename);\n    FormatLocaleString(buffer,0x1000,"/Title (%s)\n",pcVar23);\n    DestroyString(pcVar23);\n  }\n  else {\n    sVar21 = UTF8ToUTF16((uchar *)basename,(wchar_t *)0x0);\n    puVar33 = (uint *)basename;\n    if (sVar21 == 0) {\n      do {\n        puVar32 = puVar33;\n        uVar30 = *puVar32 + 0xfefefeff & ~*puVar32;\n        uVar27 = uVar30 & 0x80808080;\n        puVar33 = puVar32 + 1;\n      } while (uVar27 == 0);\n      bVar41 = (uVar30 & 0x8080) == 0;\n      if (bVar41) {\n        uVar27 = uVar27 >> 0x10;\n      }\n      if (bVar41) {\n        puVar33 = (uint *)((int)puVar32 + 6);\n      }\n      puVar24 = (uchar *)((int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename));\n      utf16 = (wchar_t *)AcquireQuantumMemory((size_t)(puVar24 + 1),4);\n      puVar31 = (uchar *)0x0;\n      if (utf16 != (wchar_t *)0x0) {\n        do {\n          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);\n          puVar31 = puVar31 + 1;\n        } while (puVar24 + 1 != puVar31);\nLAB_00239c56:\n        builtin_strncpy(date,"0123456789ABCDEF",0x10);\n        FormatLocaleString(buffer,0x1000,"/Title <");\n        WriteBlobString((Image *)local_6224,buffer);\n        if (0 < (int)puVar24) {\n          pwVar38 = utf16;\n          do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);\n        }\n        FormatLocaleString(buffer,0x1000,">\n");\n        RelinquishMagickMemory(utf16);\n      }\n    }\n    else {\n      utf16 = (wchar_t *)AcquireQuantumMemory(sVar21 + 1,4);\n      if (utf16 != (wchar_t *)0x0) {\n        puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);\n        goto LAB_00239c56;\n      }\n    }\n  }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar23 = EscapeParenthesis(basename);\n    FormatLocaleString(buffer,0x1000,"/Title (%s)\n",pcVar23);\n    DestroyString(pcVar23);\n  }" { (expression_statement "pcVar23 = EscapeParenthesis(basename);" (assignment_expression "pcVar23 = EscapeParenthesis(basename)" identifier = (call_expression "EscapeParenthesis(basename)" identifier (argument_list "(basename)" ( identifier )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Title (%s)\n",pcVar23);" (call_expression "FormatLocaleString(buffer,0x1000,"/Title (%s)\n",pcVar23)" identifier (argument_list "(buffer,0x1000,"/Title (%s)\n",pcVar23)" ( identifier , number_literal , (string_literal ""/Title (%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "DestroyString(pcVar23);" (call_expression "DestroyString(pcVar23)" identifier (argument_list "(pcVar23)" ( identifier ))) ;) }) (else_clause "else {\n    sVar21 = UTF8ToUTF16((uchar *)basename,(wchar_t *)0x0);\n    puVar33 = (uint *)basename;\n    if (sVar21 == 0) {\n      do {\n        puVar32 = puVar33;\n        uVar30 = *puVar32 + 0xfefefeff & ~*puVar32;\n        uVar27 = uVar30 & 0x80808080;\n        puVar33 = puVar32 + 1;\n      } while (uVar27 == 0);\n      bVar41 = (uVar30 & 0x8080) == 0;\n      if (bVar41) {\n        uVar27 = uVar27 >> 0x10;\n      }\n      if (bVar41) {\n        puVar33 = (uint *)((int)puVar32 + 6);\n      }\n      puVar24 = (uchar *)((int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename));\n      utf16 = (wchar_t *)AcquireQuantumMemory((size_t)(puVar24 + 1),4);\n      puVar31 = (uchar *)0x0;\n      if (utf16 != (wchar_t *)0x0) {\n        do {\n          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);\n          puVar31 = puVar31 + 1;\n        } while (puVar24 + 1 != puVar31);\nLAB_00239c56:\n        builtin_strncpy(date,"0123456789ABCDEF",0x10);\n        FormatLocaleString(buffer,0x1000,"/Title <");\n        WriteBlobString((Image *)local_6224,buffer);\n        if (0 < (int)puVar24) {\n          pwVar38 = utf16;\n          do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);\n        }\n        FormatLocaleString(buffer,0x1000,">\n");\n        RelinquishMagickMemory(utf16);\n      }\n    }\n    else {\n      utf16 = (wchar_t *)AcquireQuantumMemory(sVar21 + 1,4);\n      if (utf16 != (wchar_t *)0x0) {\n        puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);\n        goto LAB_00239c56;\n      }\n    }\n  }" else (compound_statement "{\n    sVar21 = UTF8ToUTF16((uchar *)basename,(wchar_t *)0x0);\n    puVar33 = (uint *)basename;\n    if (sVar21 == 0) {\n      do {\n        puVar32 = puVar33;\n        uVar30 = *puVar32 + 0xfefefeff & ~*puVar32;\n        uVar27 = uVar30 & 0x80808080;\n        puVar33 = puVar32 + 1;\n      } while (uVar27 == 0);\n      bVar41 = (uVar30 & 0x8080) == 0;\n      if (bVar41) {\n        uVar27 = uVar27 >> 0x10;\n      }\n      if (bVar41) {\n        puVar33 = (uint *)((int)puVar32 + 6);\n      }\n      puVar24 = (uchar *)((int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename));\n      utf16 = (wchar_t *)AcquireQuantumMemory((size_t)(puVar24 + 1),4);\n      puVar31 = (uchar *)0x0;\n      if (utf16 != (wchar_t *)0x0) {\n        do {\n          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);\n          puVar31 = puVar31 + 1;\n        } while (puVar24 + 1 != puVar31);\nLAB_00239c56:\n        builtin_strncpy(date,"0123456789ABCDEF",0x10);\n        FormatLocaleString(buffer,0x1000,"/Title <");\n        WriteBlobString((Image *)local_6224,buffer);\n        if (0 < (int)puVar24) {\n          pwVar38 = utf16;\n          do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);\n        }\n        FormatLocaleString(buffer,0x1000,">\n");\n        RelinquishMagickMemory(utf16);\n      }\n    }\n    else {\n      utf16 = (wchar_t *)AcquireQuantumMemory(sVar21 + 1,4);\n      if (utf16 != (wchar_t *)0x0) {\n        puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);\n        goto LAB_00239c56;\n      }\n    }\n  }" { (expression_statement "sVar21 = UTF8ToUTF16((uchar *)basename,(wchar_t *)0x0);" (assignment_expression "sVar21 = UTF8ToUTF16((uchar *)basename,(wchar_t *)0x0)" identifier = (call_expression "UTF8ToUTF16((uchar *)basename,(wchar_t *)0x0)" identifier (argument_list "((uchar *)basename,(wchar_t *)0x0)" ( (cast_expression "(uchar *)basename" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(wchar_t *)0x0" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "puVar33 = (uint *)basename;" (assignment_expression "puVar33 = (uint *)basename" identifier = (cast_expression "(uint *)basename" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (sVar21 == 0) {\n      do {\n        puVar32 = puVar33;\n        uVar30 = *puVar32 + 0xfefefeff & ~*puVar32;\n        uVar27 = uVar30 & 0x80808080;\n        puVar33 = puVar32 + 1;\n      } while (uVar27 == 0);\n      bVar41 = (uVar30 & 0x8080) == 0;\n      if (bVar41) {\n        uVar27 = uVar27 >> 0x10;\n      }\n      if (bVar41) {\n        puVar33 = (uint *)((int)puVar32 + 6);\n      }\n      puVar24 = (uchar *)((int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename));\n      utf16 = (wchar_t *)AcquireQuantumMemory((size_t)(puVar24 + 1),4);\n      puVar31 = (uchar *)0x0;\n      if (utf16 != (wchar_t *)0x0) {\n        do {\n          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);\n          puVar31 = puVar31 + 1;\n        } while (puVar24 + 1 != puVar31);\nLAB_00239c56:\n        builtin_strncpy(date,"0123456789ABCDEF",0x10);\n        FormatLocaleString(buffer,0x1000,"/Title <");\n        WriteBlobString((Image *)local_6224,buffer);\n        if (0 < (int)puVar24) {\n          pwVar38 = utf16;\n          do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);\n        }\n        FormatLocaleString(buffer,0x1000,">\n");\n        RelinquishMagickMemory(utf16);\n      }\n    }\n    else {\n      utf16 = (wchar_t *)AcquireQuantumMemory(sVar21 + 1,4);\n      if (utf16 != (wchar_t *)0x0) {\n        puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);\n        goto LAB_00239c56;\n      }\n    }" if (parenthesized_expression "(sVar21 == 0)" ( (binary_expression "sVar21 == 0" identifier == number_literal) )) (compound_statement "{\n      do {\n        puVar32 = puVar33;\n        uVar30 = *puVar32 + 0xfefefeff & ~*puVar32;\n        uVar27 = uVar30 & 0x80808080;\n        puVar33 = puVar32 + 1;\n      } while (uVar27 == 0);\n      bVar41 = (uVar30 & 0x8080) == 0;\n      if (bVar41) {\n        uVar27 = uVar27 >> 0x10;\n      }\n      if (bVar41) {\n        puVar33 = (uint *)((int)puVar32 + 6);\n      }\n      puVar24 = (uchar *)((int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename));\n      utf16 = (wchar_t *)AcquireQuantumMemory((size_t)(puVar24 + 1),4);\n      puVar31 = (uchar *)0x0;\n      if (utf16 != (wchar_t *)0x0) {\n        do {\n          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);\n          puVar31 = puVar31 + 1;\n        } while (puVar24 + 1 != puVar31);\nLAB_00239c56:\n        builtin_strncpy(date,"0123456789ABCDEF",0x10);\n        FormatLocaleString(buffer,0x1000,"/Title <");\n        WriteBlobString((Image *)local_6224,buffer);\n        if (0 < (int)puVar24) {\n          pwVar38 = utf16;\n          do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);\n        }\n        FormatLocaleString(buffer,0x1000,">\n");\n        RelinquishMagickMemory(utf16);\n      }\n    }" { (do_statement "do {\n        puVar32 = puVar33;\n        uVar30 = *puVar32 + 0xfefefeff & ~*puVar32;\n        uVar27 = uVar30 & 0x80808080;\n        puVar33 = puVar32 + 1;\n      } while (uVar27 == 0);" do (compound_statement "{\n        puVar32 = puVar33;\n        uVar30 = *puVar32 + 0xfefefeff & ~*puVar32;\n        uVar27 = uVar30 & 0x80808080;\n        puVar33 = puVar32 + 1;\n      }" { (expression_statement "puVar32 = puVar33;" (assignment_expression "puVar32 = puVar33" identifier = identifier) ;) (expression_statement "uVar30 = *puVar32 + 0xfefefeff & ~*puVar32;" (assignment_expression "uVar30 = *puVar32 + 0xfefefeff & ~*puVar32" identifier = (binary_expression "*puVar32 + 0xfefefeff & ~*puVar32" (binary_expression "*puVar32 + 0xfefefeff" (pointer_expression "*puVar32" * identifier) + number_literal) & (unary_expression "~*puVar32" ~ (pointer_expression "*puVar32" * identifier)))) ;) (expression_statement "uVar27 = uVar30 & 0x80808080;" (assignment_expression "uVar27 = uVar30 & 0x80808080" identifier = (binary_expression "uVar30 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar33 = puVar32 + 1;" (assignment_expression "puVar33 = puVar32 + 1" identifier = (binary_expression "puVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )) ;) (expression_statement "bVar41 = (uVar30 & 0x8080) == 0;" (assignment_expression "bVar41 = (uVar30 & 0x8080) == 0" identifier = (binary_expression "(uVar30 & 0x8080) == 0" (parenthesized_expression "(uVar30 & 0x8080)" ( (binary_expression "uVar30 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar41) {\n        uVar27 = uVar27 >> 0x10;\n      }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n        uVar27 = uVar27 >> 0x10;\n      }" { (expression_statement "uVar27 = uVar27 >> 0x10;" (assignment_expression "uVar27 = uVar27 >> 0x10" identifier = (binary_expression "uVar27 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar41) {\n        puVar33 = (uint *)((int)puVar32 + 6);\n      }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n        puVar33 = (uint *)((int)puVar32 + 6);\n      }" { (expression_statement "puVar33 = (uint *)((int)puVar32 + 6);" (assignment_expression "puVar33 = (uint *)((int)puVar32 + 6)" identifier = (cast_expression "(uint *)((int)puVar32 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 6)" ( (binary_expression "(int)puVar32 + 6" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "puVar24 = (uchar *)((int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename));" (assignment_expression "puVar24 = (uchar *)((int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename))" identifier = (cast_expression "(uchar *)((int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename))" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename))" ( (binary_expression "(int)puVar33 +\n                         ((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename)" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename)" ( (binary_expression "(-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)) - (int)basename" (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar27,(byte)uVar27)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar27,(byte)uVar27)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar27,(byte)uVar27)" identifier (argument_list "((byte)uVar27,(byte)uVar27)" ( (cast_expression "(byte)uVar27" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar27" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(int)basename" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "utf16 = (wchar_t *)AcquireQuantumMemory((size_t)(puVar24 + 1),4);" (assignment_expression "utf16 = (wchar_t *)AcquireQuantumMemory((size_t)(puVar24 + 1),4)" identifier = (cast_expression "(wchar_t *)AcquireQuantumMemory((size_t)(puVar24 + 1),4)" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory((size_t)(puVar24 + 1),4)" identifier (argument_list "((size_t)(puVar24 + 1),4)" ( (cast_expression "(size_t)(puVar24 + 1)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(puVar24 + 1)" ( (binary_expression "puVar24 + 1" identifier + number_literal) ))) , number_literal ))))) ;) (expression_statement "puVar31 = (uchar *)0x0;" (assignment_expression "puVar31 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (utf16 != (wchar_t *)0x0) {\n        do {\n          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);\n          puVar31 = puVar31 + 1;\n        } while (puVar24 + 1 != puVar31);\nLAB_00239c56:\n        builtin_strncpy(date,"0123456789ABCDEF",0x10);\n        FormatLocaleString(buffer,0x1000,"/Title <");\n        WriteBlobString((Image *)local_6224,buffer);\n        if (0 < (int)puVar24) {\n          pwVar38 = utf16;\n          do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);\n        }\n        FormatLocaleString(buffer,0x1000,">\n");\n        RelinquishMagickMemory(utf16);\n      }" if (parenthesized_expression "(utf16 != (wchar_t *)0x0)" ( (binary_expression "utf16 != (wchar_t *)0x0" identifier != (cast_expression "(wchar_t *)0x0" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        do {\n          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);\n          puVar31 = puVar31 + 1;\n        } while (puVar24 + 1 != puVar31);\nLAB_00239c56:\n        builtin_strncpy(date,"0123456789ABCDEF",0x10);\n        FormatLocaleString(buffer,0x1000,"/Title <");\n        WriteBlobString((Image *)local_6224,buffer);\n        if (0 < (int)puVar24) {\n          pwVar38 = utf16;\n          do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);\n        }\n        FormatLocaleString(buffer,0x1000,">\n");\n        RelinquishMagickMemory(utf16);\n      }" { (do_statement "do {\n          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);\n          puVar31 = puVar31 + 1;\n        } while (puVar24 + 1 != puVar31);" do (compound_statement "{\n          utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);\n          puVar31 = puVar31 + 1;\n        }" { (expression_statement "utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31);" (assignment_expression "utf16[(int)puVar31] = (uint)*(byte *)((int)basename + (int)puVar31)" (subscript_expression "utf16[(int)puVar31]" identifier [ (cast_expression "(int)puVar31" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (binary_expression "(uint)*(byte *)((int)basename + (int)puVar31)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)basename + (int)puVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)basename + (int)puVar31)" ( (binary_expression "(int)basename + (int)puVar31" (cast_expression "(int)basename" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)puVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" identifier = (binary_expression "puVar31 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar24 + 1 != puVar31)" ( (binary_expression "puVar24 + 1 != puVar31" (binary_expression "puVar24 + 1" identifier + number_literal) != identifier) )) ;) (labeled_statement "LAB_00239c56:\n        builtin_strncpy(date,"0123456789ABCDEF",0x10);" statement_identifier : (expression_statement "builtin_strncpy(date,"0123456789ABCDEF",0x10);" (call_expression "builtin_strncpy(date,"0123456789ABCDEF",0x10)" identifier (argument_list "(date,"0123456789ABCDEF",0x10)" ( identifier , (string_literal ""0123456789ABCDEF"" " string_content ") , number_literal ))) ;)) (expression_statement "FormatLocaleString(buffer,0x1000,"/Title <");" (call_expression "FormatLocaleString(buffer,0x1000,"/Title <")" identifier (argument_list "(buffer,0x1000,"/Title <")" ( identifier , number_literal , (string_literal ""/Title <"" " string_content ") ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (if_statement "if (0 < (int)puVar24) {\n          pwVar38 = utf16;\n          do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);\n        }" if (parenthesized_expression "(0 < (int)puVar24)" ( (binary_expression "0 < (int)puVar24" number_literal < (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pwVar38 = utf16;\n          do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);\n        }" { (expression_statement "pwVar38 = utf16;" (assignment_expression "pwVar38 = utf16" identifier = identifier) ;) (do_statement "do {\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          } while (pwVar39 != utf16 + (int)puVar24);" do (compound_statement "{\n            pwVar39 = pwVar38 + 1;\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,'0');\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);\n            WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);\n            pwVar38 = pwVar39;\n          }" { (expression_statement "pwVar39 = pwVar38 + 1;" (assignment_expression "pwVar39 = pwVar38 + 1" identifier = (binary_expression "pwVar38 + 1" identifier + number_literal)) ;) (expression_statement "WriteBlobByte((Image *)local_6224,'0');" (call_expression "WriteBlobByte((Image *)local_6224,'0')" identifier (argument_list "((Image *)local_6224,'0')" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (char_literal "'0'" ' character ') ))) ;) (expression_statement "WriteBlobByte((Image *)local_6224,'0');" (call_expression "WriteBlobByte((Image *)local_6224,'0')" identifier (argument_list "((Image *)local_6224,'0')" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (char_literal "'0'" ' character ') ))) ;) (expression_statement "WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf]);" (call_expression "WriteBlobByte((Image *)local_6224,date[*pwVar38 >> 4 & 0xf])" identifier (argument_list "((Image *)local_6224,date[*pwVar38 >> 4 & 0xf])" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (subscript_expression "date[*pwVar38 >> 4 & 0xf]" identifier [ (binary_expression "*pwVar38 >> 4 & 0xf" (binary_expression "*pwVar38 >> 4" (pointer_expression "*pwVar38" * identifier) >> number_literal) & number_literal) ]) ))) ;) (expression_statement "WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf]);" (call_expression "WriteBlobByte((Image *)local_6224,date[*pwVar38 & 0xf])" identifier (argument_list "((Image *)local_6224,date[*pwVar38 & 0xf])" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (subscript_expression "date[*pwVar38 & 0xf]" identifier [ (binary_expression "*pwVar38 & 0xf" (pointer_expression "*pwVar38" * identifier) & number_literal) ]) ))) ;) (expression_statement "pwVar38 = pwVar39;" (assignment_expression "pwVar38 = pwVar39" identifier = identifier) ;) }) while (parenthesized_expression "(pwVar39 != utf16 + (int)puVar24)" ( (binary_expression "pwVar39 != utf16 + (int)puVar24" identifier != (binary_expression "utf16 + (int)puVar24" identifier + (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier))) )) ;) })) (expression_statement "FormatLocaleString(buffer,0x1000,">\n");" (call_expression "FormatLocaleString(buffer,0x1000,">\n")" identifier (argument_list "(buffer,0x1000,">\n")" ( identifier , number_literal , (string_literal "">\n"" " string_content escape_sequence ") ))) ;) (expression_statement "RelinquishMagickMemory(utf16);" (call_expression "RelinquishMagickMemory(utf16)" identifier (argument_list "(utf16)" ( identifier ))) ;) })) }) (else_clause "else {\n      utf16 = (wchar_t *)AcquireQuantumMemory(sVar21 + 1,4);\n      if (utf16 != (wchar_t *)0x0) {\n        puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);\n        goto LAB_00239c56;\n      }\n    }" else (compound_statement "{\n      utf16 = (wchar_t *)AcquireQuantumMemory(sVar21 + 1,4);\n      if (utf16 != (wchar_t *)0x0) {\n        puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);\n        goto LAB_00239c56;\n      }\n    }" { (expression_statement "utf16 = (wchar_t *)AcquireQuantumMemory(sVar21 + 1,4);" (assignment_expression "utf16 = (wchar_t *)AcquireQuantumMemory(sVar21 + 1,4)" identifier = (cast_expression "(wchar_t *)AcquireQuantumMemory(sVar21 + 1,4)" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(sVar21 + 1,4)" identifier (argument_list "(sVar21 + 1,4)" ( (binary_expression "sVar21 + 1" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (utf16 != (wchar_t *)0x0) {\n        puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);\n        goto LAB_00239c56;\n      }" if (parenthesized_expression "(utf16 != (wchar_t *)0x0)" ( (binary_expression "utf16 != (wchar_t *)0x0" identifier != (cast_expression "(wchar_t *)0x0" ( (type_descriptor "wchar_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);\n        goto LAB_00239c56;\n      }" { (expression_statement "puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16);" (assignment_expression "puVar24 = (uchar *)UTF8ToUTF16((uchar *)basename,utf16)" identifier = (cast_expression "(uchar *)UTF8ToUTF16((uchar *)basename,utf16)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "UTF8ToUTF16((uchar *)basename,utf16)" identifier (argument_list "((uchar *)basename,utf16)" ( (cast_expression "(uchar *)basename" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))))) ;) (goto_statement "goto LAB_00239c56;" goto statement_identifier ;) })) }))) }))) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "seconds = GetMagickTime();" (assignment_expression "seconds = GetMagickTime()" identifier = (call_expression "GetMagickTime()" identifier (argument_list "()" ( )))) ;) (expression_statement "gmtime_r(&seconds,(tm *)&utc_time);" (call_expression "gmtime_r(&seconds,(tm *)&utc_time)" identifier (argument_list "(&seconds,(tm *)&utc_time)" ( (pointer_expression "&seconds" & identifier) , (cast_expression "(tm *)&utc_time" ( (type_descriptor "tm *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&utc_time" & identifier)) ))) ;) (expression_statement "FormatLocaleString(date,0x1000,"D:%04d%02d%02d%02d%02d%02d",utc_time.tm_year + 0x76c,\n                     utc_time.tm_mon + 1,utc_time.tm_mday,utc_time.tm_hour,utc_time.tm_min,\n                     utc_time.tm_sec);" (call_expression "FormatLocaleString(date,0x1000,"D:%04d%02d%02d%02d%02d%02d",utc_time.tm_year + 0x76c,\n                     utc_time.tm_mon + 1,utc_time.tm_mday,utc_time.tm_hour,utc_time.tm_min,\n                     utc_time.tm_sec)" identifier (argument_list "(date,0x1000,"D:%04d%02d%02d%02d%02d%02d",utc_time.tm_year + 0x76c,\n                     utc_time.tm_mon + 1,utc_time.tm_mday,utc_time.tm_hour,utc_time.tm_min,\n                     utc_time.tm_sec)" ( identifier , number_literal , (string_literal ""D:%04d%02d%02d%02d%02d%02d"" " string_content ") , (binary_expression "utc_time.tm_year + 0x76c" (field_expression "utc_time.tm_year" identifier . field_identifier) + number_literal) , (binary_expression "utc_time.tm_mon + 1" (field_expression "utc_time.tm_mon" identifier . field_identifier) + number_literal) , (field_expression "utc_time.tm_mday" identifier . field_identifier) , (field_expression "utc_time.tm_hour" identifier . field_identifier) , (field_expression "utc_time.tm_min" identifier . field_identifier) , (field_expression "utc_time.tm_sec" identifier . field_identifier) ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/CreationDate (%s)\n",date);" (call_expression "FormatLocaleString(buffer,0x1000,"/CreationDate (%s)\n",date)" identifier (argument_list "(buffer,0x1000,"/CreationDate (%s)\n",date)" ( identifier , number_literal , (string_literal ""/CreationDate (%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/ModDate (%s)\n",date);" (call_expression "FormatLocaleString(buffer,0x1000,"/ModDate (%s)\n",date)" identifier (argument_list "(buffer,0x1000,"/ModDate (%s)\n",date)" ( identifier , number_literal , (string_literal ""/ModDate (%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "pcVar23 = EscapeParenthesis("https://imagemagick.org");" (assignment_expression "pcVar23 = EscapeParenthesis("https://imagemagick.org")" identifier = (call_expression "EscapeParenthesis("https://imagemagick.org")" identifier (argument_list "("https://imagemagick.org")" ( (string_literal ""https://imagemagick.org"" " string_content ") )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Producer (%s)\n",pcVar23);" (call_expression "FormatLocaleString(buffer,0x1000,"/Producer (%s)\n",pcVar23)" identifier (argument_list "(buffer,0x1000,"/Producer (%s)\n",pcVar23)" ( identifier , number_literal , (string_literal ""/Producer (%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "DestroyString(pcVar23);" (call_expression "DestroyString(pcVar23)" identifier (argument_list "(pcVar23)" ( identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,">>\n");" (call_expression "WriteBlobString((Image *)local_6224,">>\n")" identifier (argument_list "((Image *)local_6224,">>\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"endobj\n");" (call_expression "WriteBlobString((Image *)local_6224,"endobj\n")" identifier (argument_list "((Image *)local_6224,"endobj\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "MVar42 = TellBlob((Image *)local_6224);" (assignment_expression "MVar42 = TellBlob((Image *)local_6224)" identifier = (call_expression "TellBlob((Image *)local_6224)" identifier (argument_list "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "uVar27 = (uint)MVar42 - *local_6200;" (assignment_expression "uVar27 = (uint)MVar42 - *local_6200" identifier = (binary_expression "(uint)MVar42 - *local_6200" (cast_expression "(uint)MVar42" ( (type_descriptor "uint" type_identifier) ) identifier) - (pointer_expression "*local_6200" * identifier))) ;) (expression_statement "iVar36 = ((int)((ulonglong)MVar42 >> 0x20) - local_6200[1]) - (uint)((uint)MVar42 < *local_6200);" (assignment_expression "iVar36 = ((int)((ulonglong)MVar42 >> 0x20) - local_6200[1]) - (uint)((uint)MVar42 < *local_6200)" identifier = (binary_expression "((int)((ulonglong)MVar42 >> 0x20) - local_6200[1]) - (uint)((uint)MVar42 < *local_6200)" (parenthesized_expression "((int)((ulonglong)MVar42 >> 0x20) - local_6200[1])" ( (binary_expression "(int)((ulonglong)MVar42 >> 0x20) - local_6200[1]" (cast_expression "(int)((ulonglong)MVar42 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)MVar42 >> 0x20)" ( (binary_expression "(ulonglong)MVar42 >> 0x20" (cast_expression "(ulonglong)MVar42" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) - (subscript_expression "local_6200[1]" identifier [ number_literal ])) )) - (call_expression "(uint)((uint)MVar42 < *local_6200)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)MVar42 < *local_6200)" ( (binary_expression "(uint)MVar42 < *local_6200" (cast_expression "(uint)MVar42" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*local_6200" * identifier)) ))))) ;) (expression_statement "iVar16 = LocaleCompare(pcVar28,"PDFA");" (assignment_expression "iVar16 = LocaleCompare(pcVar28,"PDFA")" identifier = (call_expression "LocaleCompare(pcVar28,"PDFA")" identifier (argument_list "(pcVar28,"PDFA")" ( identifier , (string_literal ""PDFA"" " string_content ") )))) ;) (if_statement "if (iVar16 == 0) {\n    bVar41 = 0xfffffff9 < uVar27;\n    uVar27 = uVar27 + 6;\n    iVar36 = iVar36 + (uint)bVar41;\n  }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n    bVar41 = 0xfffffff9 < uVar27;\n    uVar27 = uVar27 + 6;\n    iVar36 = iVar36 + (uint)bVar41;\n  }" { (expression_statement "bVar41 = 0xfffffff9 < uVar27;" (assignment_expression "bVar41 = 0xfffffff9 < uVar27" identifier = (binary_expression "0xfffffff9 < uVar27" number_literal < identifier)) ;) (expression_statement "uVar27 = uVar27 + 6;" (assignment_expression "uVar27 = uVar27 + 6" identifier = (binary_expression "uVar27 + 6" identifier + number_literal)) ;) (expression_statement "iVar36 = iVar36 + (uint)bVar41;" (assignment_expression "iVar36 = iVar36 + (uint)bVar41" identifier = (binary_expression "iVar36 + (uint)bVar41" identifier + (cast_expression "(uint)bVar41" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "local_61f4 = CONCAT44(iVar36 + (uint)(0xfffffff5 < uVar27),uVar27 + 10);" (assignment_expression "local_61f4 = CONCAT44(iVar36 + (uint)(0xfffffff5 < uVar27),uVar27 + 10)" identifier = (call_expression "CONCAT44(iVar36 + (uint)(0xfffffff5 < uVar27),uVar27 + 10)" identifier (argument_list "(iVar36 + (uint)(0xfffffff5 < uVar27),uVar27 + 10)" ( (binary_expression "iVar36 + (uint)(0xfffffff5 < uVar27)" identifier + (call_expression "(uint)(0xfffffff5 < uVar27)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffff5 < uVar27)" ( (binary_expression "0xfffffff5 < uVar27" number_literal < identifier) )))) , (binary_expression "uVar27 + 10" identifier + number_literal) )))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"xref\n");" (call_expression "WriteBlobString((Image *)local_6224,"xref\n")" identifier (argument_list "((Image *)local_6224,"xref\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""xref\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar48 = SUB84(dVar45 + (double)DAT_0029f718,0);" (assignment_expression "uVar48 = SUB84(dVar45 + (double)DAT_0029f718,0)" identifier = (call_expression "SUB84(dVar45 + (double)DAT_0029f718,0)" identifier (argument_list "(dVar45 + (double)DAT_0029f718,0)" ( (binary_expression "dVar45 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) , number_literal )))) ;) (expression_statement "uVar47 = (undefined4)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20);" (assignment_expression "uVar47 = (undefined4)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20)" ( (binary_expression "(ulonglong)(dVar45 + (double)DAT_0029f718) >> 0x20" (call_expression "(ulonglong)(dVar45 + (double)DAT_0029f718)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(dVar45 + (double)DAT_0029f718)" ( (binary_expression "dVar45 + (double)DAT_0029f718" identifier + (cast_expression "(double)DAT_0029f718" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"0 %.20g\n",uVar48,uVar47);" (call_expression "FormatLocaleString(buffer,0x1000,"0 %.20g\n",uVar48,uVar47)" identifier (argument_list "(buffer,0x1000,"0 %.20g\n",uVar48,uVar47)" ( identifier , number_literal , (string_literal ""0 %.20g\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"0000000000 65535 f \n");" (call_expression "WriteBlobString((Image *)local_6224,"0000000000 65535 f \n")" identifier (argument_list "((Image *)local_6224,"0000000000 65535 f \n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""0000000000 65535 f \n"" " string_content escape_sequence ") ))) ;) (if_statement "if (0 < (int)(uVar18 + 7)) {\n    puVar33 = local_6200;\n    do {\n      uVar27 = *puVar33;\n      puVar33 = puVar33 + 2;\n      FormatLocaleString(buffer,0x1000,"%010lu 00000 n \n",uVar27);\n      WriteBlobString((Image *)local_6224,buffer);\n    } while (local_6200 + uVar18 * 2 + 0xe != puVar33);\n  }" if (parenthesized_expression "(0 < (int)(uVar18 + 7))" ( (binary_expression "0 < (int)(uVar18 + 7)" number_literal < (cast_expression "(int)(uVar18 + 7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar18 + 7)" ( (binary_expression "uVar18 + 7" identifier + number_literal) )))) )) (compound_statement "{\n    puVar33 = local_6200;\n    do {\n      uVar27 = *puVar33;\n      puVar33 = puVar33 + 2;\n      FormatLocaleString(buffer,0x1000,"%010lu 00000 n \n",uVar27);\n      WriteBlobString((Image *)local_6224,buffer);\n    } while (local_6200 + uVar18 * 2 + 0xe != puVar33);\n  }" { (expression_statement "puVar33 = local_6200;" (assignment_expression "puVar33 = local_6200" identifier = identifier) ;) (do_statement "do {\n      uVar27 = *puVar33;\n      puVar33 = puVar33 + 2;\n      FormatLocaleString(buffer,0x1000,"%010lu 00000 n \n",uVar27);\n      WriteBlobString((Image *)local_6224,buffer);\n    } while (local_6200 + uVar18 * 2 + 0xe != puVar33);" do (compound_statement "{\n      uVar27 = *puVar33;\n      puVar33 = puVar33 + 2;\n      FormatLocaleString(buffer,0x1000,"%010lu 00000 n \n",uVar27);\n      WriteBlobString((Image *)local_6224,buffer);\n    }" { (expression_statement "uVar27 = *puVar33;" (assignment_expression "uVar27 = *puVar33" identifier = (pointer_expression "*puVar33" * identifier)) ;) (expression_statement "puVar33 = puVar33 + 2;" (assignment_expression "puVar33 = puVar33 + 2" identifier = (binary_expression "puVar33 + 2" identifier + number_literal)) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%010lu 00000 n \n",uVar27);" (call_expression "FormatLocaleString(buffer,0x1000,"%010lu 00000 n \n",uVar27)" identifier (argument_list "(buffer,0x1000,"%010lu 00000 n \n",uVar27)" ( identifier , number_literal , (string_literal ""%010lu 00000 n \n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) }) while (parenthesized_expression "(local_6200 + uVar18 * 2 + 0xe != puVar33)" ( (binary_expression "local_6200 + uVar18 * 2 + 0xe != puVar33" (binary_expression "local_6200 + uVar18 * 2 + 0xe" (binary_expression "local_6200 + uVar18 * 2" identifier + (binary_expression "uVar18 * 2" identifier * number_literal)) + number_literal) != identifier) )) ;) })) (expression_statement "WriteBlobString((Image *)local_6224,"trailer\n");" (call_expression "WriteBlobString((Image *)local_6224,"trailer\n")" identifier (argument_list "((Image *)local_6224,"trailer\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""trailer\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"<<\n");" (call_expression "WriteBlobString((Image *)local_6224,"<<\n")" identifier (argument_list "((Image *)local_6224,"<<\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Size %.20g\n",uVar48,uVar47);" (call_expression "FormatLocaleString(buffer,0x1000,"/Size %.20g\n",uVar48,uVar47)" identifier (argument_list "(buffer,0x1000,"/Size %.20g\n",uVar48,uVar47)" ( identifier , number_literal , (string_literal ""/Size %.20g\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Info %.20g 0 R\n",SUB84(dVar45,0),uVar46);" (call_expression "FormatLocaleString(buffer,0x1000,"/Info %.20g 0 R\n",SUB84(dVar45,0),uVar46)" identifier (argument_list "(buffer,0x1000,"/Info %.20g 0 R\n",SUB84(dVar45,0),uVar46)" ( identifier , number_literal , (string_literal ""/Info %.20g 0 R\n"" " string_content escape_sequence ") , (call_expression "SUB84(dVar45,0)" identifier (argument_list "(dVar45,0)" ( identifier , number_literal ))) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/Root %.20g 0 R\n",0,0x3ff00000);" (call_expression "FormatLocaleString(buffer,0x1000,"/Root %.20g 0 R\n",0,0x3ff00000)" identifier (argument_list "(buffer,0x1000,"/Root %.20g 0 R\n",0,0x3ff00000)" ( identifier , number_literal , (string_literal ""/Root %.20g 0 R\n"" " string_content escape_sequence ") , number_literal , number_literal ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "SignatureImage((Image *)local_6224,exception);" (call_expression "SignatureImage((Image *)local_6224,exception)" identifier (argument_list "((Image *)local_6224,exception)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "pcVar23 = GetImageProperty((Image *)local_6224,"signature",exception);" (assignment_expression "pcVar23 = GetImageProperty((Image *)local_6224,"signature",exception)" identifier = (call_expression "GetImageProperty((Image *)local_6224,"signature",exception)" identifier (argument_list "((Image *)local_6224,"signature",exception)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""signature"" " string_content ") , identifier )))) ;) (expression_statement "pcVar28 = GetImageProperty((Image *)local_6224,"signature",exception);" (assignment_expression "pcVar28 = GetImageProperty((Image *)local_6224,"signature",exception)" identifier = (call_expression "GetImageProperty((Image *)local_6224,"signature",exception)" identifier (argument_list "((Image *)local_6224,"signature",exception)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""signature"" " string_content ") , identifier )))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"/ID [<%s> <%s>]\n",pcVar28,pcVar23);" (call_expression "FormatLocaleString(buffer,0x1000,"/ID [<%s> <%s>]\n",pcVar28,pcVar23)" identifier (argument_list "(buffer,0x1000,"/ID [<%s> <%s>]\n",pcVar28,pcVar23)" ( identifier , number_literal , (string_literal ""/ID [<%s> <%s>]\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,">>\n");" (call_expression "WriteBlobString((Image *)local_6224,">>\n")" identifier (argument_list "((Image *)local_6224,">>\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,"startxref\n");" (call_expression "WriteBlobString((Image *)local_6224,"startxref\n")" identifier (argument_list "((Image *)local_6224,"startxref\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""startxref\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(longlong)local_61f4,0),\n                     (int)((ulonglong)(double)(longlong)local_61f4 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g\n",SUB84((double)(longlong)local_61f4,0),\n                     (int)((ulonglong)(double)(longlong)local_61f4 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g\n",SUB84((double)(longlong)local_61f4,0),\n                     (int)((ulonglong)(double)(longlong)local_61f4 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g\n"" " string_content escape_sequence ") , (call_expression "SUB84((double)(longlong)local_61f4,0)" identifier (argument_list "((double)(longlong)local_61f4,0)" ( (cast_expression "(double)(longlong)local_61f4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61f4" ( (type_descriptor "longlong" type_identifier) ) identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)(longlong)local_61f4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)(longlong)local_61f4 >> 0x20)" ( (binary_expression "(ulonglong)(double)(longlong)local_61f4 >> 0x20" (cast_expression "(ulonglong)(double)(longlong)local_61f4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(longlong)local_61f4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61f4" ( (type_descriptor "longlong" type_identifier) ) identifier))) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString((Image *)local_6224,buffer);" (call_expression "WriteBlobString((Image *)local_6224,buffer)" identifier (argument_list "((Image *)local_6224,buffer)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "MVar14 = MagickTrue;" (assignment_expression "MVar14 = MagickTrue" identifier = identifier) ;) (expression_statement "WriteBlobString((Image *)local_6224,"%%EOF\n");" (call_expression "WriteBlobString((Image *)local_6224,"%%EOF\n")" identifier (argument_list "((Image *)local_6224,"%%EOF\n")" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%%EOF\n"" " string_content escape_sequence ") ))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "CloseBlob((Image *)local_6224);" (call_expression "CloseBlob((Image *)local_6224)" identifier (argument_list "((Image *)local_6224)" ( (cast_expression "(Image *)local_6224" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (labeled_statement "LAB_002345fa:\n  if (iVar6 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar14;\n  }" statement_identifier : (if_statement "if (iVar6 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar14;\n  }" if (parenthesized_expression "(iVar6 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar6 == *(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 MVar14;\n  }" { (return_statement "return MVar14;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "int FUN_00234540(uint *param_1,int *param_2,char *param_3)\n\n{\n  float fVar1;\n  float fVar2;\n  int *piVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined1 uVar6;\n  int iVar7;\n  int *piVar8;\n  uint *puVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  uint *puVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  uint uVar17;\n  uint uVar18;\n  char *pcVar19;\n  uint *puVar20;\n  char cVar21;\n  undefined1 *puVar22;\n  uint *puVar23;\n  undefined1 *puVar24;\n  int *piVar25;\n  undefined8 *puVar26;\n  int iVar27;\n  undefined1 *puVar28;\n  uint *puVar29;\n  int iVar30;\n  int *piVar31;\n  int in_GS_OFFSET;\n  bool bVar32;\n  undefined2 in_FPUControlWord;\n  undefined8 uVar33;\n  char *pcVar34;\n  undefined *puVar35;\n  double dVar36;\n  int *local_6224;\n  char *local_620c;\n  undefined8 *local_6200;\n  int local_61f4;\n  undefined8 local_61e4;\n  int local_61dc;\n  double local_61cc;\n  ulonglong local_61c4;\n  uint local_61b8;\n  double local_61b4;\n  uint *local_61a8;\n  uint local_61a4;\n  int local_6194;\n  uint local_60cc;\n  time_t local_60a8;\n  uint local_60a4;\n  uint local_60a0;\n  int local_609c;\n  int local_6098;\n  undefined1 local_6094 [4];\n  uint local_6090;\n  undefined1 local_6084 [8];\n  int local_607c;\n  int local_6078;\n  double local_6074;\n  double local_606c;\n  tm local_604c;\n  uint local_6020 [1024];\n  undefined1 local_5020 [4096];\n  undefined1 auStack_4020 [4096];\n  undefined1 auStack_3020 [4096];\n  uint uStack_2020;\n  undefined4 uStack_201c;\n  undefined4 uStack_2018;\n  undefined4 uStack_2014;\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x234549;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (uint *)0x0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }\n  if (param_1[0xc7d] != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }\n  if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }\n  if (param_2[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }\n  if (param_2[0xcca] != 0) {\n    LogMagickEvent();\n  }\n  if (param_3 == (char *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }\n  iVar7 = OpenBlob(param_1,param_2,4,param_3);\n  if (iVar7 == 0) {\nLAB_002345f8:\n    iVar27 = 0;\n  }\n  else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }\n  goto LAB_002345fa;\nLAB_00239247:\n  uVar33 = TellBlob(local_6224,local_620c);\n  local_6200[local_61f4] = uVar33;\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"<<\n");\n  iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n  if (iVar7 == 0) {\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }\n  else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }\n  WriteBlobString(local_6224,local_5020);\n  local_60a8 = GetMagickTime();\n  gmtime_r(&local_60a8,&local_604c);\n  FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec);\n  FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  uVar12 = FUN_00234220();\n  FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);\n  DestroyString(uVar12);\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"endobj\n");\n  TellBlob(local_6224);\n  LocaleCompare(puVar9,&DAT_002a2413);\n  WriteBlobString(local_6224,"xref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"0000000000 65535 f \n");\n  if (0 < (int)(uVar10 + 7)) {\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }\n  WriteBlobString(local_6224,"trailer\n");\n  WriteBlobString(local_6224,"<<\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  SignatureImage(local_6224,param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"startxref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  iVar27 = 1;\n  WriteBlobString(local_6224,"%%EOF\n");\n  RelinquishMagickMemory(local_6200);\n  CloseBlob(local_6224);\nLAB_002345fa:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }\n                    \n  FUN_0029eab0();\n}\n\n" (function_definition "int FUN_00234540(uint *param_1,int *param_2,char *param_3)\n\n{\n  float fVar1;\n  float fVar2;\n  int *piVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined1 uVar6;\n  int iVar7;\n  int *piVar8;\n  uint *puVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  uint *puVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  uint uVar17;\n  uint uVar18;\n  char *pcVar19;\n  uint *puVar20;\n  char cVar21;\n  undefined1 *puVar22;\n  uint *puVar23;\n  undefined1 *puVar24;\n  int *piVar25;\n  undefined8 *puVar26;\n  int iVar27;\n  undefined1 *puVar28;\n  uint *puVar29;\n  int iVar30;\n  int *piVar31;\n  int in_GS_OFFSET;\n  bool bVar32;\n  undefined2 in_FPUControlWord;\n  undefined8 uVar33;\n  char *pcVar34;\n  undefined *puVar35;\n  double dVar36;\n  int *local_6224;\n  char *local_620c;\n  undefined8 *local_6200;\n  int local_61f4;\n  undefined8 local_61e4;\n  int local_61dc;\n  double local_61cc;\n  ulonglong local_61c4;\n  uint local_61b8;\n  double local_61b4;\n  uint *local_61a8;\n  uint local_61a4;\n  int local_6194;\n  uint local_60cc;\n  time_t local_60a8;\n  uint local_60a4;\n  uint local_60a0;\n  int local_609c;\n  int local_6098;\n  undefined1 local_6094 [4];\n  uint local_6090;\n  undefined1 local_6084 [8];\n  int local_607c;\n  int local_6078;\n  double local_6074;\n  double local_606c;\n  tm local_604c;\n  uint local_6020 [1024];\n  undefined1 local_5020 [4096];\n  undefined1 auStack_4020 [4096];\n  undefined1 auStack_3020 [4096];\n  uint uStack_2020;\n  undefined4 uStack_201c;\n  undefined4 uStack_2018;\n  undefined4 uStack_2014;\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x234549;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (uint *)0x0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }\n  if (param_1[0xc7d] != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }\n  if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }\n  if (param_2[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }\n  if (param_2[0xcca] != 0) {\n    LogMagickEvent();\n  }\n  if (param_3 == (char *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }\n  iVar7 = OpenBlob(param_1,param_2,4,param_3);\n  if (iVar7 == 0) {\nLAB_002345f8:\n    iVar27 = 0;\n  }\n  else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }\n  goto LAB_002345fa;\nLAB_00239247:\n  uVar33 = TellBlob(local_6224,local_620c);\n  local_6200[local_61f4] = uVar33;\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"<<\n");\n  iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n  if (iVar7 == 0) {\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }\n  else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }\n  WriteBlobString(local_6224,local_5020);\n  local_60a8 = GetMagickTime();\n  gmtime_r(&local_60a8,&local_604c);\n  FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec);\n  FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  uVar12 = FUN_00234220();\n  FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);\n  DestroyString(uVar12);\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"endobj\n");\n  TellBlob(local_6224);\n  LocaleCompare(puVar9,&DAT_002a2413);\n  WriteBlobString(local_6224,"xref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"0000000000 65535 f \n");\n  if (0 < (int)(uVar10 + 7)) {\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }\n  WriteBlobString(local_6224,"trailer\n");\n  WriteBlobString(local_6224,"<<\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  SignatureImage(local_6224,param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"startxref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  iVar27 = 1;\n  WriteBlobString(local_6224,"%%EOF\n");\n  RelinquishMagickMemory(local_6200);\n  CloseBlob(local_6224);\nLAB_002345fa:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }\n                    \n  FUN_0029eab0();\n}" primitive_type (function_declarator "FUN_00234540(uint *param_1,int *param_2,char *param_3)" identifier (parameter_list "(uint *param_1,int *param_2,char *param_3)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  float fVar1;\n  float fVar2;\n  int *piVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined1 uVar6;\n  int iVar7;\n  int *piVar8;\n  uint *puVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  uint *puVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  uint uVar17;\n  uint uVar18;\n  char *pcVar19;\n  uint *puVar20;\n  char cVar21;\n  undefined1 *puVar22;\n  uint *puVar23;\n  undefined1 *puVar24;\n  int *piVar25;\n  undefined8 *puVar26;\n  int iVar27;\n  undefined1 *puVar28;\n  uint *puVar29;\n  int iVar30;\n  int *piVar31;\n  int in_GS_OFFSET;\n  bool bVar32;\n  undefined2 in_FPUControlWord;\n  undefined8 uVar33;\n  char *pcVar34;\n  undefined *puVar35;\n  double dVar36;\n  int *local_6224;\n  char *local_620c;\n  undefined8 *local_6200;\n  int local_61f4;\n  undefined8 local_61e4;\n  int local_61dc;\n  double local_61cc;\n  ulonglong local_61c4;\n  uint local_61b8;\n  double local_61b4;\n  uint *local_61a8;\n  uint local_61a4;\n  int local_6194;\n  uint local_60cc;\n  time_t local_60a8;\n  uint local_60a4;\n  uint local_60a0;\n  int local_609c;\n  int local_6098;\n  undefined1 local_6094 [4];\n  uint local_6090;\n  undefined1 local_6084 [8];\n  int local_607c;\n  int local_6078;\n  double local_6074;\n  double local_606c;\n  tm local_604c;\n  uint local_6020 [1024];\n  undefined1 local_5020 [4096];\n  undefined1 auStack_4020 [4096];\n  undefined1 auStack_3020 [4096];\n  uint uStack_2020;\n  undefined4 uStack_201c;\n  undefined4 uStack_2018;\n  undefined4 uStack_2014;\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x234549;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (uint *)0x0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }\n  if (param_1[0xc7d] != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }\n  if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }\n  if (param_2[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }\n  if (param_2[0xcca] != 0) {\n    LogMagickEvent();\n  }\n  if (param_3 == (char *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }\n  iVar7 = OpenBlob(param_1,param_2,4,param_3);\n  if (iVar7 == 0) {\nLAB_002345f8:\n    iVar27 = 0;\n  }\n  else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }\n  goto LAB_002345fa;\nLAB_00239247:\n  uVar33 = TellBlob(local_6224,local_620c);\n  local_6200[local_61f4] = uVar33;\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"<<\n");\n  iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n  if (iVar7 == 0) {\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }\n  else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }\n  WriteBlobString(local_6224,local_5020);\n  local_60a8 = GetMagickTime();\n  gmtime_r(&local_60a8,&local_604c);\n  FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec);\n  FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  uVar12 = FUN_00234220();\n  FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);\n  DestroyString(uVar12);\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"endobj\n");\n  TellBlob(local_6224);\n  LocaleCompare(puVar9,&DAT_002a2413);\n  WriteBlobString(local_6224,"xref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"0000000000 65535 f \n");\n  if (0 < (int)(uVar10 + 7)) {\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }\n  WriteBlobString(local_6224,"trailer\n");\n  WriteBlobString(local_6224,"<<\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  SignatureImage(local_6224,param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"startxref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  iVar27 = 1;\n  WriteBlobString(local_6224,"%%EOF\n");\n  RelinquishMagickMemory(local_6200);\n  CloseBlob(local_6224);\nLAB_002345fa:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }\n                    \n  FUN_0029eab0();\n}" { (declaration "float fVar1;" primitive_type identifier ;) (declaration "float fVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined1 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined1 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "uint *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "char cVar21;" primitive_type identifier ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "uint *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "undefined8 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined1 *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "uint *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "int *piVar31;" primitive_type (pointer_declarator "*piVar31" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "undefined2 in_FPUControlWord;" type_identifier identifier ;) (declaration "undefined8 uVar33;" type_identifier identifier ;) (declaration "char *pcVar34;" primitive_type (pointer_declarator "*pcVar34" * identifier) ;) (declaration "undefined *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "double dVar36;" primitive_type identifier ;) (declaration "int *local_6224;" primitive_type (pointer_declarator "*local_6224" * identifier) ;) (declaration "char *local_620c;" primitive_type (pointer_declarator "*local_620c" * identifier) ;) (declaration "undefined8 *local_6200;" type_identifier (pointer_declarator "*local_6200" * identifier) ;) (declaration "int local_61f4;" primitive_type identifier ;) (declaration "undefined8 local_61e4;" type_identifier identifier ;) (declaration "int local_61dc;" primitive_type identifier ;) (declaration "double local_61cc;" primitive_type identifier ;) (declaration "ulonglong local_61c4;" type_identifier identifier ;) (declaration "uint local_61b8;" type_identifier identifier ;) (declaration "double local_61b4;" primitive_type identifier ;) (declaration "uint *local_61a8;" type_identifier (pointer_declarator "*local_61a8" * identifier) ;) (declaration "uint local_61a4;" type_identifier identifier ;) (declaration "int local_6194;" primitive_type identifier ;) (declaration "uint local_60cc;" type_identifier identifier ;) (declaration "time_t local_60a8;" type_identifier identifier ;) (declaration "uint local_60a4;" type_identifier identifier ;) (declaration "uint local_60a0;" type_identifier identifier ;) (declaration "int local_609c;" primitive_type identifier ;) (declaration "int local_6098;" primitive_type identifier ;) (declaration "undefined1 local_6094 [4];" type_identifier (array_declarator "local_6094 [4]" identifier [ number_literal ]) ;) (declaration "uint local_6090;" type_identifier identifier ;) (declaration "undefined1 local_6084 [8];" type_identifier (array_declarator "local_6084 [8]" identifier [ number_literal ]) ;) (declaration "int local_607c;" primitive_type identifier ;) (declaration "int local_6078;" primitive_type identifier ;) (declaration "double local_6074;" primitive_type identifier ;) (declaration "double local_606c;" primitive_type identifier ;) (declaration "tm local_604c;" type_identifier identifier ;) (declaration "uint local_6020 [1024];" type_identifier (array_declarator "local_6020 [1024]" identifier [ number_literal ]) ;) (declaration "undefined1 local_5020 [4096];" type_identifier (array_declarator "local_5020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_4020 [4096];" type_identifier (array_declarator "auStack_4020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_3020 [4096];" type_identifier (array_declarator "auStack_3020 [4096]" identifier [ number_literal ]) ;) (declaration "uint uStack_2020;" type_identifier identifier ;) (declaration "undefined4 uStack_201c;" type_identifier identifier ;) (declaration "undefined4 uStack_2018;" type_identifier identifier ;) (declaration "undefined4 uStack_2014;" type_identifier identifier ;) (declaration "undefined1 local_1020 [4096];" type_identifier (array_declarator "local_1020 [4096]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x234549;" (assignment_expression "uStack_14 = 0x234549" 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 == (uint *)0x0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }" if (parenthesized_expression "(param_1 == (uint *)0x0)" ( (binary_expression "param_1 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }" { (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xc7d] != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }" if (parenthesized_expression "(param_1[0xc7d] != 0xabacadab)" ( (binary_expression "param_1[0xc7d] != 0xabacadab" (subscript_expression "param_1[0xc7d]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }" { (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\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("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }" { (expression_statement "__assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");" (call_expression "__assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage")" identifier (argument_list "("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (param_2[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }" if (parenthesized_expression "(param_2[0xcd1] != -0x54535255)" ( (binary_expression "param_2[0xcd1] != -0x54535255" (subscript_expression "param_2[0xcd1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }" { (expression_statement "__assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage")" identifier (argument_list "("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (param_2[0xcca] != 0) {\n    LogMagickEvent();\n  }" if (parenthesized_expression "(param_2[0xcca] != 0)" ( (binary_expression "param_2[0xcca] != 0" (subscript_expression "param_2[0xcca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    LogMagickEvent();\n  }" { (expression_statement "LogMagickEvent();" (call_expression "LogMagickEvent()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (param_3 == (char *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }" if (parenthesized_expression "(param_3 == (char *)0x0)" ( (binary_expression "param_3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }" { (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_3 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }" if (parenthesized_expression "(*(int *)(param_3 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(param_3 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_3 + 0x1c)" * (cast_expression "(int *)(param_3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }" { (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 )" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 )" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pdf.c"" " string_content ") , number_literal , (string_literal ""WritePDFImage"" " string_content ") ))) ;) })) (expression_statement "iVar7 = OpenBlob(param_1,param_2,4,param_3);" (assignment_expression "iVar7 = OpenBlob(param_1,param_2,4,param_3)" identifier = (call_expression "OpenBlob(param_1,param_2,4,param_3)" identifier (argument_list "(param_1,param_2,4,param_3)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar7 == 0) {\nLAB_002345f8:\n    iVar27 = 0;\n  }\n  else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002345f8:\n    iVar27 = 0;\n  }" { (labeled_statement "LAB_002345f8:\n    iVar27 = 0;" statement_identifier : (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }" else (compound_statement "{\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }" { (expression_statement "local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);" (assignment_expression "local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8)" identifier = (cast_expression "(undefined8 *)AcquireQuantumMemory(0x800,8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(0x800,8)" identifier (argument_list "(0x800,8)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar25 = param_2 + 0xc6;" (assignment_expression "piVar25 = param_2 + 0xc6" identifier = (binary_expression "param_2 + 0xc6" identifier + number_literal)) ;) (expression_statement "piVar31 = param_2;" (assignment_expression "piVar31 = param_2" identifier = identifier) ;) (if_statement "if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }" if (parenthesized_expression "(local_6200 == (undefined8 *)0x0)" ( (binary_expression "local_6200 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }" { (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }" while (parenthesized_expression "(piVar5 = param_2, piVar8 != (int *)0x0)" ( (comma_expression "piVar5 = param_2, piVar8 != (int *)0x0" (assignment_expression "piVar5 = param_2" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }" { (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "param_2 = piVar8;" (assignment_expression "param_2 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) })) }) (else_clause "else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }" else (compound_statement "{\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }" { (expression_statement "memset(local_6200,0,0x4000);" (call_expression "memset(local_6200,0,0x4000)" identifier (argument_list "(local_6200,0,0x4000)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "piVar8 = param_2;" (assignment_expression "piVar8 = param_2" identifier = identifier) ;) (do_statement "do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);" do (compound_statement "{\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }" { (expression_statement "piVar8 = (int *)GetNextImageInList(piVar8);" (assignment_expression "piVar8 = (int *)GetNextImageInList(piVar8)" identifier = (cast_expression "(int *)GetNextImageInList(piVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetNextImageInList(piVar8)" identifier (argument_list "(piVar8)" ( identifier ))))) ;) }) while (parenthesized_expression "(piVar8 != (int *)0x0)" ( (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "puVar9 = param_1 + 0x7c;" (assignment_expression "puVar9 = param_1 + 0x7c" identifier = (binary_expression "param_1 + 0x7c" identifier + number_literal)) ;) (expression_statement "LocaleCompare(puVar9,&DAT_002a2413);" (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) ))) ;) (expression_statement "piVar8 = param_2;" (assignment_expression "piVar8 = param_2" identifier = identifier) ;) (do_statement "do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);" do (compound_statement "{\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }" { (expression_statement "SetImageGray(piVar8,param_3);" (call_expression "SetImageGray(piVar8,param_3)" identifier (argument_list "(piVar8,param_3)" ( identifier , identifier ))) ;) (expression_statement "iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);" (assignment_expression "iVar7 = GetImageProfile(piVar8,&DAT_002a81ca)" identifier = (call_expression "GetImageProfile(piVar8,&DAT_002a81ca)" identifier (argument_list "(piVar8,&DAT_002a81ca)" ( identifier , (pointer_expression "&DAT_002a81ca" & identifier) )))) ;) (if_statement "if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          SetImageStorageClass(piVar8,1,param_3);\n        }" { (expression_statement "SetImageStorageClass(piVar8,1,param_3);" (call_expression "SetImageStorageClass(piVar8,1,param_3)" identifier (argument_list "(piVar8,1,param_3)" ( identifier , number_literal , identifier ))) ;) })) (if_statement "if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }" if (parenthesized_expression "((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0))" ( (binary_expression "(0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)" (parenthesized_expression "(0x1f < piVar8[1] - 2U)" ( (binary_expression "0x1f < piVar8[1] - 2U" number_literal < (binary_expression "piVar8[1] - 2U" (subscript_expression "piVar8[1]" identifier [ number_literal ]) - number_literal)) )) || (parenthesized_expression "((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)" ( (binary_expression "(0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0" (parenthesized_expression "(0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1)" ( (binary_expression "0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1" (binary_expression "0x80780003U >> (piVar8[1] - 2U & 0x1f)" number_literal >> (parenthesized_expression "(piVar8[1] - 2U & 0x1f)" ( (binary_expression "piVar8[1] - 2U & 0x1f" (binary_expression "piVar8[1] - 2U" (subscript_expression "piVar8[1]" identifier [ number_literal ]) - number_literal) & number_literal) ))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }" { (expression_statement "TransformImageColorspace(piVar8,0x17,param_3);" (call_expression "TransformImageColorspace(piVar8,0x17,param_3)" identifier (argument_list "(piVar8,0x17,param_3)" ( identifier , number_literal , identifier ))) ;) })) (expression_statement "piVar8 = (int *)GetNextImageInList(piVar8);" (assignment_expression "piVar8 = (int *)GetNextImageInList(piVar8)" identifier = (cast_expression "(int *)GetNextImageInList(piVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetNextImageInList(piVar8)" identifier (argument_list "(piVar8)" ( identifier ))))) ;) }) while (parenthesized_expression "(piVar8 != (int *)0x0)" ( (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "iVar7 = GetImageOption(param_1,"pdf:version");" (assignment_expression "iVar7 = GetImageOption(param_1,"pdf:version")" identifier = (call_expression "GetImageOption(param_1,"pdf:version")" identifier (argument_list "(param_1,"pdf:version")" ( identifier , (string_literal ""pdf:version"" " string_content ") )))) ;) (if_statement "if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        InterpretLocaleValue(iVar7,0);\n      }" { (expression_statement "InterpretLocaleValue(iVar7,0);" (call_expression "InterpretLocaleValue(iVar7,0)" identifier (argument_list "(iVar7,0)" ( identifier , number_literal ))) ;) })) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "iVar7 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar7 = LocaleCompare(puVar9,&DAT_002a2413)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) )))) ;) (if_statement "if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }" { (expression_statement "WriteBlobByte(param_2,0x25);" (call_expression "WriteBlobByte(param_2,0x25)" identifier (argument_list "(param_2,0x25)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(param_2,0xe2);" (call_expression "WriteBlobByte(param_2,0xe2)" identifier (argument_list "(param_2,0xe2)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(param_2,0xe3);" (call_expression "WriteBlobByte(param_2,0xe3)" identifier (argument_list "(param_2,0xe3)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(param_2,0xcf);" (call_expression "WriteBlobByte(param_2,0xcf)" identifier (argument_list "(param_2,0xcf)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(param_2,0xd3);" (call_expression "WriteBlobByte(param_2,0xd3)" identifier (argument_list "(param_2,0xd3)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(param_2,10);" (call_expression "WriteBlobByte(param_2,10)" identifier (argument_list "(param_2,10)" ( identifier , number_literal ))) ;) })) (expression_statement "uVar33 = TellBlob(param_2);" (assignment_expression "uVar33 = TellBlob(param_2)" identifier = (call_expression "TellBlob(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*local_6200 = uVar33;" (assignment_expression "*local_6200 = uVar33" (pointer_expression "*local_6200" * identifier) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(param_2,"<<\n");" (call_expression "WriteBlobString(param_2,"<<\n")" identifier (argument_list "(param_2,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar7 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar7 = LocaleCompare(puVar9,&DAT_002a2413)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) )))) ;) (if_statement "if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }" { (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) })) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(param_2,"/Type /Catalog");" (call_expression "WriteBlobString(param_2,"/Type /Catalog")" identifier (argument_list "(param_2,"/Type /Catalog")" ( identifier , (string_literal ""/Type /Catalog"" " string_content ") ))) ;) (expression_statement "iVar7 = GetImageOption(param_1,"pdf:page-direction");" (assignment_expression "iVar7 = GetImageOption(param_1,"pdf:page-direction")" identifier = (call_expression "GetImageOption(param_1,"pdf:page-direction")" identifier (argument_list "(param_1,"pdf:page-direction")" ( identifier , (string_literal ""pdf:page-direction"" " string_content ") )))) ;) (if_statement "if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }" if (parenthesized_expression "((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0))" ( (binary_expression "(iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)" ( (comma_expression "iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0" (assignment_expression "iVar7 = LocaleCompare(iVar7,"right-to-left")" identifier = (call_expression "LocaleCompare(iVar7,"right-to-left")" identifier (argument_list "(iVar7,"right-to-left")" ( identifier , (string_literal ""right-to-left"" " string_content ") )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }" { (expression_statement "WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");" (call_expression "WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n")" identifier (argument_list "(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n")" ( identifier , (string_literal ""/ViewerPreferences<</PageDirection/R2L>>\n"" " string_content escape_sequence ") ))) ;) })) (expression_statement "WriteBlobString(param_2,"\n");" (call_expression "WriteBlobString(param_2,"\n")" identifier (argument_list "(param_2,"\n")" ( identifier , (string_literal ""\n"" " escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,">>\n");" (call_expression "WriteBlobString(param_2,">>\n")" identifier (argument_list "(param_2,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,"endobj\n");" (call_expression "WriteBlobString(param_2,"endobj\n")" identifier (argument_list "(param_2,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar34 = (char *)local_6020;" (assignment_expression "pcVar34 = (char *)local_6020" identifier = (cast_expression "(char *)local_6020" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "GetPathComponent(piVar25,5,local_6020);" (call_expression "GetPathComponent(piVar25,5,local_6020)" identifier (argument_list "(piVar25,5,local_6020)" ( identifier , number_literal , identifier ))) ;) (expression_statement "iVar7 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar7 = LocaleCompare(puVar9,&DAT_002a2413)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) )))) ;) (if_statement "if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }" { (expression_statement "uVar33 = TellBlob(param_2);" (assignment_expression "uVar33 = TellBlob(param_2)" identifier = (call_expression "TellBlob(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "local_6200[1] = uVar33;" (assignment_expression "local_6200[1] = uVar33" (subscript_expression "local_6200[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(param_2,"<<\n");" (call_expression "WriteBlobString(param_2,"<<\n")" identifier (argument_list "(param_2,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,"/Subtype /XML\n");" (call_expression "WriteBlobString(param_2,"/Subtype /XML\n")" identifier (argument_list "(param_2,"/Subtype /XML\n")" ( identifier , (string_literal ""/Subtype /XML\n"" " string_content escape_sequence ") ))) ;) (expression_statement "auStack_3020[0] = 0;" (assignment_expression "auStack_3020[0] = 0" (subscript_expression "auStack_3020[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar7 = GetImageProperty(param_2,"date:modify",param_3);" (assignment_expression "iVar7 = GetImageProperty(param_2,"date:modify",param_3)" identifier = (call_expression "GetImageProperty(param_2,"date:modify",param_3)" identifier (argument_list "(param_2,"date:modify",param_3)" ( identifier , (string_literal ""date:modify"" " string_content ") , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }" { (expression_statement "CopyMagickString(auStack_3020,iVar7,0x1000);" (call_expression "CopyMagickString(auStack_3020,iVar7,0x1000)" identifier (argument_list "(auStack_3020,iVar7,0x1000)" ( identifier , identifier , number_literal ))) ;) })) (expression_statement "auStack_4020[0] = 0;" (assignment_expression "auStack_4020[0] = 0" (subscript_expression "auStack_4020[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar7 = GetImageProperty(param_2,"date:create",param_3);" (assignment_expression "iVar7 = GetImageProperty(param_2,"date:create",param_3)" identifier = (call_expression "GetImageProperty(param_2,"date:create",param_3)" identifier (argument_list "(param_2,"date:create",param_3)" ( identifier , (string_literal ""date:create"" " string_content ") , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }" { (expression_statement "CopyMagickString(auStack_4020,iVar7,0x1000);" (call_expression "CopyMagickString(auStack_4020,iVar7,0x1000)" identifier (argument_list "(auStack_4020,iVar7,0x1000)" ( identifier , identifier , number_literal ))) ;) })) (expression_statement "uVar12 = GetMagickTime();" (assignment_expression "uVar12 = GetMagickTime()" identifier = (call_expression "GetMagickTime()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar34 = (char *)&uStack_2020;" (assignment_expression "pcVar34 = (char *)&uStack_2020" identifier = (cast_expression "(char *)&uStack_2020" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_2020" & identifier))) ;) (expression_statement "FormatMagickTime(uVar12,0x1000,&uStack_2020);" (call_expression "FormatMagickTime(uVar12,0x1000,&uStack_2020)" identifier (argument_list "(uVar12,0x1000,&uStack_2020)" ( identifier , number_literal , (pointer_expression "&uStack_2020" & identifier) ))) ;) (expression_statement "uVar12 = FUN_00234220();" (assignment_expression "uVar12 = FUN_00234220()" identifier = (call_expression "FUN_00234220()" identifier (argument_list "()" ( )))) ;) (expression_statement "FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);" (call_expression "FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12)" identifier (argument_list "(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12)" ( identifier , number_literal , (string_literal ""<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression "&UNK_0030624c" & identifier) , identifier , identifier , (pointer_expression "&uStack_2020" & identifier) , (call_expression ""https:\n        DestroyString(uVar12)" (concatenated_string ""https:\n        DestroyString" (string_literal ""https:" " string_content ") identifier) (argument_list "(uVar12)" ( identifier ))) ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(param_2,"/Type /Metadata\n");" (call_expression "WriteBlobString(param_2,"/Type /Metadata\n")" identifier (argument_list "(param_2,"/Type /Metadata\n")" ( identifier , (string_literal ""/Type /Metadata\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,">>\nstream\n");" (call_expression "WriteBlobString(param_2,">>\nstream\n")" identifier (argument_list "(param_2,">>\nstream\n")" ( identifier , (string_literal "">>\nstream\n"" " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,local_1020);" (call_expression "WriteBlobString(param_2,local_1020)" identifier (argument_list "(param_2,local_1020)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = 0x10;" (assignment_expression "iVar27 = 0x10" identifier = number_literal) ;) (expression_statement "WriteBlobString(param_2,"\nendstream\n");" (call_expression "WriteBlobString(param_2,"\nendstream\n")" identifier (argument_list "(param_2,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "iVar7 = 0x12;" (assignment_expression "iVar7 = 0x12" identifier = number_literal) ;) (expression_statement "WriteBlobString(param_2,"endobj\n");" (call_expression "WriteBlobString(param_2,"endobj\n")" identifier (argument_list "(param_2,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "local_61f4 = 3;" (assignment_expression "local_61f4 = 3" identifier = number_literal) ;) }) (else_clause "else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }" else (compound_statement "{\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }" { (expression_statement "iVar7 = 0x11;" (assignment_expression "iVar7 = 0x11" identifier = number_literal) ;) (expression_statement "iVar27 = 8;" (assignment_expression "iVar27 = 8" identifier = number_literal) ;) (expression_statement "local_61f4 = 2;" (assignment_expression "local_61f4 = 2" identifier = number_literal) ;) }))) (expression_statement "uVar33 = TellBlob(param_2);" (assignment_expression "uVar33 = TellBlob(param_2)" identifier = (call_expression "TellBlob(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "*(undefined8 *)(iVar27 + (int)local_6200) = uVar33;" (assignment_expression "*(undefined8 *)(iVar27 + (int)local_6200) = uVar33" (pointer_expression "*(undefined8 *)(iVar27 + (int)local_6200)" * (cast_expression "(undefined8 *)(iVar27 + (int)local_6200)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + (int)local_6200)" ( (binary_expression "iVar27 + (int)local_6200" identifier + (cast_expression "(int)local_6200" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(param_2,"<<\n");" (call_expression "WriteBlobString(param_2,"<<\n")" identifier (argument_list "(param_2,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,"/Type /Pages\n");" (call_expression "WriteBlobString(param_2,"/Type /Pages\n")" identifier (argument_list "(param_2,"/Type /Pages\n")" ( identifier , (string_literal ""/Type /Pages\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "piVar8 = param_2;" (assignment_expression "piVar8 = param_2" identifier = identifier) ;) (if_statement "if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }" if (parenthesized_expression "(param_1[3] == 0)" ( (binary_expression "param_1[3] == 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }" { (labeled_statement "LAB_00234b1f:\n        WriteBlobString(param_2,"]\n");" statement_identifier : (expression_statement "WriteBlobString(param_2,"]\n");" (call_expression "WriteBlobString(param_2,"]\n")" identifier (argument_list "(param_2,"]\n")" ( identifier , (string_literal ""]\n"" " string_content escape_sequence ") ))) ;)) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(param_2,">>\n");" (call_expression "WriteBlobString(param_2,">>\n")" identifier (argument_list "(param_2,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(param_2,"endobj\n");" (call_expression "WriteBlobString(param_2,"endobj\n")" identifier (argument_list "(param_2,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "GetImageListLength(param_2);" (call_expression "GetImageListLength(param_2)" identifier (argument_list "(param_2)" ( identifier ))) ;) (expression_statement "pcVar19 = "stream\n";" (assignment_expression "pcVar19 = "stream\n"" identifier = (string_literal ""stream\n"" " string_content escape_sequence ")) ;) (expression_statement "local_6224 = param_2;" (assignment_expression "local_6224 = param_2" identifier = identifier) ;) (do_statement "do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );" do (compound_statement "{\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        }" { (expression_statement "piVar31 = local_6224;" (assignment_expression "piVar31 = local_6224" identifier = identifier) ;) (expression_statement "iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);" (assignment_expression "iVar7 = GetImageProfile(local_6224,&DAT_002a81ca)" identifier = (call_expression "GetImageProfile(local_6224,&DAT_002a81ca)" identifier (argument_list "(local_6224,&DAT_002a81ca)" ( identifier , (pointer_expression "&DAT_002a81ca" & identifier) )))) ;) (expression_statement "local_61a4 = *param_1;" (assignment_expression "local_61a4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }" if (parenthesized_expression "(*param_1 == 0)" ( (binary_expression "*param_1 == 0" (pointer_expression "*param_1" * identifier) == number_literal) )) (compound_statement "{\n            local_61a4 = local_6224[2];\n          }" { (expression_statement "local_61a4 = local_6224[2];" (assignment_expression "local_61a4 = local_6224[2]" identifier = (subscript_expression "local_6224[2]" identifier [ number_literal ])) ;) })) (expression_statement "local_61a8 = (uint *)(local_61a4 - 7);" (assignment_expression "local_61a8 = (uint *)(local_61a4 - 7)" identifier = (cast_expression "(uint *)(local_61a4 - 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_61a4 - 7)" ( (binary_expression "local_61a4 - 7" identifier - number_literal) )))) ;) (expression_statement "local_61b8 = local_61a4;" (assignment_expression "local_61b8 = local_61a4" identifier = identifier) ;) (switch_statement "switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }" { (case_statement "case (uint *)0x0:" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "iVar27 = SetImageMonochrome(local_6224,param_3);" (assignment_expression "iVar27 = SetImageMonochrome(local_6224,param_3)" identifier = (call_expression "SetImageMonochrome(local_6224,param_3)" identifier (argument_list "(local_6224,param_3)" ( identifier , identifier )))) ;) (if_statement "if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;" if (parenthesized_expression "((iVar27 != 0) && (local_6224[0xa5] == 0))" ( (binary_expression "(iVar27 != 0) && (local_6224[0xa5] == 0)" (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_6224[0xa5] == 0)" ( (binary_expression "local_6224[0xa5] == 0" (subscript_expression "local_6224[0xa5]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_00235d0d;" goto statement_identifier ;)) (goto_statement "goto code_r0x00234e0c;" goto statement_identifier ;)) (case_statement "default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;" default : (labeled_statement "LAB_00235d0d:\n            local_61a4 = (uint)local_61a8;" statement_identifier : (expression_statement "local_61a4 = (uint)local_61a8;" (assignment_expression "local_61a4 = (uint)local_61a8" identifier = (cast_expression "(uint)local_61a8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (break_statement "break;" break ;)) (case_statement "case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = &UNK_00305907;" (assignment_expression "pcVar34 = &UNK_00305907" identifier = (pointer_expression "&UNK_00305907" & identifier)) ;) (goto_statement "goto code_r0x00234df2;" goto statement_identifier ;)) (case_statement "case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;" case (cast_expression "(uint *)0x5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "`%s\' (JPEG)";" (assignment_expression "pcVar34 = "`%s\' (JPEG)"" identifier = (string_literal ""`%s\' (JPEG)"" " string_content escape_sequence string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_61a8 = (uint *)0xc;" (assignment_expression "local_61a8 = (uint *)0xc" identifier = (cast_expression "(uint *)0xc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_61b8 = 0x13;" (assignment_expression "local_61b8 = 0x13" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;" case (cast_expression "(uint *)0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "iVar27 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar27 = LocaleCompare(puVar9,&DAT_002a2413)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) )))) ;) (if_statement "if (iVar27 == 0) goto code_r0x00234e0c;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00234e0c;" goto statement_identifier ;)) (expression_statement "local_61a4 = 8;" (assignment_expression "local_61a4 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;" case (cast_expression "(uint *)0x9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "iVar27 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar27 = LocaleCompare(puVar9,&DAT_002a2413)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) )))) ;) (if_statement "if (iVar27 == 0) goto code_r0x00234e0c;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00234e0c;" goto statement_identifier ;)) (expression_statement "local_61a4 = 9;" (assignment_expression "local_61a4 = 9" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;" case (cast_expression "(uint *)0xd" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "`%s\' (ZLIB)";" (assignment_expression "pcVar34 = "`%s\' (ZLIB)"" identifier = (string_literal ""`%s\' (ZLIB)"" " string_content escape_sequence string_content ")) ;) (labeled_statement "code_r0x00234df2:\n            ThrowMagickException();" statement_identifier : (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "code_r0x00234e0c:\n            local_61a4 = 0xc;" statement_identifier : (expression_statement "local_61a4 = 0xc;" (assignment_expression "local_61a4 = 0xc" identifier = number_literal) ;)) (expression_statement "local_61b8 = 0x13;" (assignment_expression "local_61b8 = 0x13" identifier = number_literal) ;) (expression_statement "local_61a8 = (uint *)0xc;" (assignment_expression "local_61a8 = (uint *)0xc" identifier = (cast_expression "(uint *)0xc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (expression_statement "local_61b4 = *(double *)(local_6224 + 0x7c);" (assignment_expression "local_61b4 = *(double *)(local_6224 + 0x7c)" identifier = (pointer_expression "*(double *)(local_6224 + 0x7c)" * (cast_expression "(double *)(local_6224 + 0x7c)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6224 + 0x7c)" ( (binary_expression "local_6224 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "local_61cc = *(double *)(local_6224 + 0x7e);" (assignment_expression "local_61cc = *(double *)(local_6224 + 0x7e)" identifier = (pointer_expression "*(double *)(local_6224 + 0x7e)" * (cast_expression "(double *)(local_6224 + 0x7e)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6224 + 0x7e)" ( (binary_expression "local_6224 + 0x7e" identifier + number_literal) ))))) ;) (if_statement "if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }" if (parenthesized_expression "(local_61cc == 0.0)" ( (binary_expression "local_61cc == 0.0" identifier == number_literal) )) (compound_statement "{\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }" { (labeled_statement "LAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);" statement_identifier : (expression_statement "uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);" (assignment_expression "uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34)" identifier = (call_expression "ParseGeometry("72.0x72.0",&local_6074,pcVar34)" identifier (argument_list "("72.0x72.0",&local_6074,pcVar34)" ( (string_literal ""72.0x72.0"" " string_content ") , (pointer_expression "&local_6074" & identifier) , identifier )))) ;)) (expression_statement "local_61b4 = local_6074;" (assignment_expression "local_61b4 = local_6074" identifier = identifier) ;) (expression_statement "local_61cc = local_6074;" (assignment_expression "local_61cc = local_6074" identifier = identifier) ;) (if_statement "if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }" if (parenthesized_expression "((uVar10 & 8) != 0)" ( (binary_expression "(uVar10 & 8) != 0" (parenthesized_expression "(uVar10 & 8)" ( (binary_expression "uVar10 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              local_61cc = local_606c;\n            }" { (expression_statement "local_61cc = local_606c;" (assignment_expression "local_61cc = local_606c" identifier = identifier) ;) })) }) (else_clause "else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }" else (compound_statement "{\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }" { (expression_statement "bVar32 = local_61cc == 0.0;" (assignment_expression "bVar32 = local_61cc == 0.0" identifier = (binary_expression "local_61cc == 0.0" identifier == number_literal)) ;) (if_statement "if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }" if (parenthesized_expression "(local_61b4 == 0.0)" ( (binary_expression "local_61b4 == 0.0" identifier == number_literal) )) (compound_statement "{\n              bVar32 = !NAN(local_61b4);\n            }" { (expression_statement "bVar32 = !NAN(local_61b4);" (assignment_expression "bVar32 = !NAN(local_61b4)" identifier = (unary_expression "!NAN(local_61b4)" ! (call_expression "NAN(local_61b4)" identifier (argument_list "(local_61b4)" ( identifier ))))) ;) })) (if_statement "if (bVar32) goto LAB_00234e74;" if (parenthesized_expression "(bVar32)" ( identifier )) (goto_statement "goto LAB_00234e74;" goto statement_identifier ;)) }))) (if_statement "if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }" if (parenthesized_expression "(param_1[0x15] != 0)" ( (binary_expression "param_1[0x15] != 0" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }" { (expression_statement "uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);" (assignment_expression "uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34)" identifier = (call_expression "ParseGeometry(param_1[0x15],&local_6074,pcVar34)" identifier (argument_list "(param_1[0x15],&local_6074,pcVar34)" ( (subscript_expression "param_1[0x15]" identifier [ number_literal ]) , (pointer_expression "&local_6074" & identifier) , identifier )))) ;) (expression_statement "local_61b4 = local_6074;" (assignment_expression "local_61b4 = local_6074" identifier = identifier) ;) (expression_statement "local_61cc = local_6074;" (assignment_expression "local_61cc = local_6074" identifier = identifier) ;) (if_statement "if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }" if (parenthesized_expression "((uVar10 & 8) != 0)" ( (binary_expression "(uVar10 & 8) != 0" (parenthesized_expression "(uVar10 & 8)" ( (binary_expression "uVar10 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              local_61cc = local_606c;\n            }" { (expression_statement "local_61cc = local_606c;" (assignment_expression "local_61cc = local_606c" identifier = identifier) ;) })) })) (if_statement "if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }" if (parenthesized_expression "(local_6224[0x77] == 2)" ( (binary_expression "local_6224[0x77] == 2" (subscript_expression "local_6224[0x77]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }" { (expression_statement "local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);" (assignment_expression "local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" identifier = (cast_expression "(double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" ( (binary_expression "(float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c" (cast_expression "(float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff)" ( (binary_expression "(longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff" (cast_expression "(longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124)" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124)" identifier (argument_list "((float)local_61b4 * DAT_002b7d18 + DAT_0029f124)" ( (binary_expression "(float)local_61b4 * DAT_002b7d18 + DAT_0029f124" (binary_expression "(float)local_61b4 * DAT_002b7d18" (cast_expression "(float)local_61b4" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) + identifier) )))) & number_literal) ))) / identifier) )))) ;) (expression_statement "local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);" (assignment_expression "local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" identifier = (cast_expression "(double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" ( (binary_expression "(float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c" (cast_expression "(float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff)" ( (binary_expression "(longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff" (cast_expression "(longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124)" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124)" identifier (argument_list "(DAT_002b7d18 * (float)local_61cc + DAT_0029f124)" ( (binary_expression "DAT_002b7d18 * (float)local_61cc + DAT_0029f124" (binary_expression "DAT_002b7d18 * (float)local_61cc" identifier * (cast_expression "(float)local_61cc" ( (type_descriptor "float" primitive_type) ) identifier)) + identifier) )))) & number_literal) ))) / identifier) )))) ;) })) (expression_statement "SetGeometry(local_6224,&local_60a4);" (call_expression "SetGeometry(local_6224,&local_60a4)" identifier (argument_list "(local_6224,&local_60a4)" ( identifier , (pointer_expression "&local_60a4" & identifier) ))) ;) (expression_statement "uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(double)(uint)local_6224[7] >> 0x20)" ( (binary_expression "(ulonglong)(double)(uint)local_6224[7] >> 0x20" (cast_expression "(ulonglong)(double)(uint)local_6224[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)(uint)local_6224[7]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(uint)local_6224[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[7]" identifier [ number_literal ])))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (if_statement "if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }" if (parenthesized_expression "(param_1[8] == 0)" ( (binary_expression "param_1[8] == 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }" { (if_statement "if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }" if (parenthesized_expression "((local_6224[0x80] == 0) || (local_6224[0x81] == 0))" ( (binary_expression "(local_6224[0x80] == 0) || (local_6224[0x81] == 0)" (parenthesized_expression "(local_6224[0x80] == 0)" ( (binary_expression "local_6224[0x80] == 0" (subscript_expression "local_6224[0x80]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(local_6224[0x81] == 0)" ( (binary_expression "local_6224[0x81] == 0" (subscript_expression "local_6224[0x81]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }" { (if_statement "if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }" if (parenthesized_expression "((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0))" ( (binary_expression "(local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)" (parenthesized_expression "(local_6224[0x8e] != 0)" ( (binary_expression "local_6224[0x8e] != 0" (subscript_expression "local_6224[0x8e]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)" ( (comma_expression "iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0" (assignment_expression "iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a240f,uVar12)" identifier (argument_list "(puVar9,&DAT_002a240f,uVar12)" ( identifier , (pointer_expression "&DAT_002a240f" & identifier) , identifier )))) , (binary_expression "iVar27 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }" { (expression_statement "CopyMagickString(local_1020,"612x792",0x1000);" (call_expression "CopyMagickString(local_1020,"612x792",0x1000)" identifier (argument_list "(local_1020,"612x792",0x1000)" ( identifier , (string_literal ""612x792"" " string_content ") , number_literal ))) ;) })) }) (else_clause "else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }" else (compound_statement "{\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }" { (expression_statement "FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);" (call_expression "FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83])" identifier (argument_list "(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83])" ( identifier , number_literal , (string_literal ""%.20gx%.20g%+.20g%+.20g"" " string_content ") , (cast_expression "(double)(uint)local_6224[0x80]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(uint)local_6224[0x80]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[0x80]" identifier [ number_literal ]))) , (cast_expression "(double)(uint)local_6224[0x81]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(uint)local_6224[0x81]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[0x81]" identifier [ number_literal ]))) , (cast_expression "(double)local_6224[0x82]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "local_6224[0x82]" identifier [ number_literal ])) , (cast_expression "(double)local_6224[0x83]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "local_6224[0x83]" identifier [ number_literal ])) ))) ;) }))) }) (else_clause "else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }" else (compound_statement "{\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }" { (expression_statement "CopyMagickString(local_1020,param_1[8],0x1000);" (call_expression "CopyMagickString(local_1020,param_1[8],0x1000)" identifier (argument_list "(local_1020,param_1[8],0x1000)" ( identifier , (subscript_expression "param_1[8]" identifier [ number_literal ]) , number_literal ))) ;) }))) (expression_statement "ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);" (call_expression "ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000)" identifier (argument_list "(local_1020,&DAT_002cb6d1,0x1000)" ( identifier , (pointer_expression "&DAT_002cb6d1" & identifier) , number_literal ))) ;) (expression_statement "ParseMetaGeometry();" (call_expression "ParseMetaGeometry()" identifier (argument_list "()" ( ))) ;) (expression_statement "fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;" (assignment_expression "fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4" identifier = (binary_expression "((float)local_60a4 * DAT_0029f120) / (float)local_61b4" (parenthesized_expression "((float)local_60a4 * DAT_0029f120)" ( (binary_expression "(float)local_60a4 * DAT_0029f120" (cast_expression "(float)local_60a4" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )) / (cast_expression "(float)local_61b4" ( (type_descriptor "float" primitive_type) ) identifier))) ;) (expression_statement "local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));" (assignment_expression "local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124))" identifier = (cast_expression "(uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124))" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(longlong)ROUND(ROUND(fVar2 + DAT_0029f124))" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(ROUND(fVar2 + DAT_0029f124))" identifier (argument_list "(ROUND(fVar2 + DAT_0029f124))" ( (call_expression "ROUND(fVar2 + DAT_0029f124)" identifier (argument_list "(fVar2 + DAT_0029f124)" ( (binary_expression "fVar2 + DAT_0029f124" identifier + identifier) ))) )))))) ;) (expression_statement "local_60a4 = local_60cc;" (assignment_expression "local_60a4 = local_60cc" identifier = identifier) ;) (expression_statement "fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;" (assignment_expression "fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc" identifier = (binary_expression "((float)local_60a0 * DAT_0029f120) / (float)local_61cc" (parenthesized_expression "((float)local_60a0 * DAT_0029f120)" ( (binary_expression "(float)local_60a0 * DAT_0029f120" (cast_expression "(float)local_60a0" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )) / (cast_expression "(float)local_61cc" ( (type_descriptor "float" primitive_type) ) identifier))) ;) (expression_statement "local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);" (assignment_expression "local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord)" identifier = (call_expression "CONCAT22(local_60a8._2_2_,in_FPUControlWord)" identifier (argument_list "(local_60a8._2_2_,in_FPUControlWord)" ( (field_expression "local_60a8._2_2_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;" (assignment_expression "local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400" (field_expression "local_604c.tm_sec" identifier . field_identifier) = (binary_expression "CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400" (binary_expression "CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff" (call_expression "CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord)" identifier (argument_list "((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord)" ( (cast_expression "(short)((uint)local_604c.tm_sec >> 0x10)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "((uint)local_604c.tm_sec >> 0x10)" ( (binary_expression "(uint)local_604c.tm_sec >> 0x10" (cast_expression "(uint)local_604c.tm_sec" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_604c.tm_sec" identifier . field_identifier)) >> number_literal) ))) , identifier ))) & number_literal) | number_literal)) ;) (expression_statement "local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));" (assignment_expression "local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124))" identifier = (cast_expression "(uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124))" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(longlong)ROUND(ROUND(fVar1 + DAT_0029f124))" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(ROUND(fVar1 + DAT_0029f124))" identifier (argument_list "(ROUND(fVar1 + DAT_0029f124))" ( (call_expression "ROUND(fVar1 + DAT_0029f124)" identifier (argument_list "(fVar1 + DAT_0029f124)" ( (binary_expression "fVar1 + DAT_0029f124" identifier + identifier) ))) )))))) ;) (expression_statement "local_60a0 = local_60cc;" (assignment_expression "local_60a0 = local_60cc" identifier = identifier) ;) (expression_statement "ParseAbsoluteGeometry(local_1020,local_6094);" (call_expression "ParseAbsoluteGeometry(local_1020,local_6094)" identifier (argument_list "(local_1020,local_6094)" ( identifier , identifier ))) ;) (expression_statement "ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);" (call_expression "ParseGravityGeometry(local_6224,local_1020,local_6084,param_3)" identifier (argument_list "(local_6224,local_1020,local_6084,param_3)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }" if (parenthesized_expression "(local_6224[0x8e] != 0)" ( (binary_expression "local_6224[0x8e] != 0" (subscript_expression "local_6224[0x8e]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }" { (expression_statement "local_609c = -local_607c;" (assignment_expression "local_609c = -local_607c" identifier = (unary_expression "-local_607c" - identifier)) ;) (expression_statement "local_6098 = (local_6078 + local_6090) - local_6224[7];" (assignment_expression "local_6098 = (local_6078 + local_6090) - local_6224[7]" identifier = (binary_expression "(local_6078 + local_6090) - local_6224[7]" (parenthesized_expression "(local_6078 + local_6090)" ( (binary_expression "local_6078 + local_6090" identifier + identifier) )) - (subscript_expression "local_6224[7]" identifier [ number_literal ]))) ;) })) (expression_statement "local_61e4 = *(double *)(param_1 + 0x16);" (assignment_expression "local_61e4 = *(double *)(param_1 + 0x16)" identifier = (pointer_expression "*(double *)(param_1 + 0x16)" * (cast_expression "(double *)(param_1 + 0x16)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x16)" ( (binary_expression "param_1 + 0x16" identifier + number_literal) ))))) ;) (if_statement "if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }" if (parenthesized_expression "(local_61e4 == 0.0)" ( (binary_expression "local_61e4 == 0.0" identifier == number_literal) )) (compound_statement "{\n            local_61e4 = (double)DAT_002b1d90;\n          }" { (expression_statement "local_61e4 = (double)DAT_002b1d90;" (assignment_expression "local_61e4 = (double)DAT_002b1d90" identifier = (cast_expression "(double)DAT_002b1d90" ( (type_descriptor "double" primitive_type) ) identifier)) ;) })) (expression_statement "GetImageProperty(local_6224,"label",param_3);" (call_expression "GetImageProperty(local_6224,"label",param_3)" identifier (argument_list "(local_6224,"label",param_3)" ( identifier , (string_literal ""label"" " string_content ") , identifier ))) ;) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" identifier = (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier )))) ;) (expression_statement "local_61c4 = (ulonglong)(local_61f4 + 1);" (assignment_expression "local_61c4 = (ulonglong)(local_61f4 + 1)" identifier = (call_expression "(ulonglong)(local_61f4 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(local_61f4 + 1)" ( (binary_expression "local_61f4 + 1" identifier + number_literal) )))) ;) (expression_statement "local_6200[local_61f4] = uVar33;" (assignment_expression "local_6200[local_61f4] = uVar33" (subscript_expression "local_6200[local_61f4]" identifier [ identifier ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" identifier (argument_list "(local_6224,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"/Type /Page\n");" (call_expression "WriteBlobString(local_6224,"/Type /Page\n")" identifier (argument_list "(local_6224,"/Type /Page\n")" ( identifier , (string_literal ""/Type /Page\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"/Resources <<\n");" (call_expression "WriteBlobString(local_6224,"/Resources <<\n")" identifier (argument_list "(local_6224,"/Resources <<\n")" ( identifier , (string_literal ""/Resources <<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "piVar25 = (int *)0x0;" (assignment_expression "piVar25 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar27 = GetImageProperty(local_6224,"label",param_3);" (assignment_expression "iVar27 = GetImageProperty(local_6224,"label",param_3)" identifier = (call_expression "GetImageProperty(local_6224,"label",param_3)" identifier (argument_list "(local_6224,"label",param_3)" ( identifier , (string_literal ""label"" " string_content ") , identifier )))) ;) (if_statement "if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }" if (parenthesized_expression "((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0))" ( (binary_expression "(iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)" (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) && (parenthesized_expression "(piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)" ( (comma_expression "piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0" (assignment_expression "piVar25 = (int *)StringToList(iVar27)" identifier = (cast_expression "(int *)StringToList(iVar27)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "StringToList(iVar27)" identifier (argument_list "(iVar27)" ( identifier ))))) , (binary_expression "piVar25 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }" { (expression_statement "uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20)" ( (binary_expression "(ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20" (call_expression "(ulonglong)((double)local_61c4 + (double)DAT_002a9b80)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((double)local_61c4 + (double)DAT_002a9b80)" ( (binary_expression "(double)local_61c4 + (double)DAT_002a9b80" (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier) + (cast_expression "(double)DAT_002a9b80" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" identifier (argument_list "(local_6224,local_5020,uVar12)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20)" ( (binary_expression "(ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20" (call_expression "(ulonglong)((double)local_61c4 + (double)DAT_002a9bb0)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((double)local_61c4 + (double)DAT_002a9bb0)" ( (binary_expression "(double)local_61c4 + (double)DAT_002a9bb0" (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier) + (cast_expression "(double)DAT_002a9bb0" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" identifier (argument_list "(local_6224,local_5020,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);" (assignment_expression "uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20)" identifier = (call_expression "(undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20)" ( (binary_expression "(ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20" (call_expression "(ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc)" (call_expression "(ulonglong)(double)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(double)" ( identifier ))) (argument_list "(((float)local_6090 * DAT_0029f120) / (float)local_61cc)" ( (binary_expression "((float)local_6090 * DAT_0029f120) / (float)local_61cc" (parenthesized_expression "((float)local_6090 * DAT_0029f120)" ( (binary_expression "(float)local_6090 * DAT_0029f120" (cast_expression "(float)local_6090" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) )) / (cast_expression "(float)local_61cc" ( (type_descriptor "float" primitive_type) ) identifier)) ))) >> number_literal) )))) ;) (expression_statement "dVar36 = (double)DAT_0029f120;" (assignment_expression "dVar36 = (double)DAT_0029f120" identifier = (cast_expression "(double)DAT_0029f120" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" identifier (argument_list "(local_6224,local_5020,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20)" ( (binary_expression "(ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20" (call_expression "(ulonglong)(((double)local_6090 * dVar36) / local_61cc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(((double)local_6090 * dVar36) / local_61cc)" ( (binary_expression "((double)local_6090 * dVar36) / local_61cc" (parenthesized_expression "((double)local_6090 * dVar36)" ( (binary_expression "(double)local_6090 * dVar36" (cast_expression "(double)local_6090" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )) / identifier) ))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" identifier (argument_list "(local_6224,local_5020,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" identifier (argument_list "(local_6224,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" identifier (argument_list "(local_6224,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" identifier = (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 1] = uVar33;" (assignment_expression "local_6200[local_61f4 + 1] = uVar33" (subscript_expression "local_6200[local_61f4 + 1]" identifier [ (binary_expression "local_61f4 + 1" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" identifier (argument_list "(local_6224,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" identifier (argument_list "(local_6224,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"stream\n");" (call_expression "WriteBlobString(local_6224,"stream\n")" identifier (argument_list "(local_6224,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(local_6224);" (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (expression_statement "WriteBlobString(local_6224,&DAT_003059cb);" (call_expression "WriteBlobString(local_6224,&DAT_003059cb)" identifier (argument_list "(local_6224,&DAT_003059cb)" ( identifier , (pointer_expression "&DAT_003059cb" & identifier) ))) ;) (if_statement "if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }" if (parenthesized_expression "((piVar25 != (int *)0x0) && (*piVar25 != 0))" ( (binary_expression "(piVar25 != (int *)0x0) && (*piVar25 != 0)" (parenthesized_expression "(piVar25 != (int *)0x0)" ( (binary_expression "piVar25 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*piVar25 != 0)" ( (binary_expression "*piVar25 != 0" (pointer_expression "*piVar25" * identifier) != number_literal) ))) )) (compound_statement "{\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);" do (compound_statement "{\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            }" { (expression_statement "WriteBlobString(local_6224,&DAT_003059ce);" (call_expression "WriteBlobString(local_6224,&DAT_003059ce)" identifier (argument_list "(local_6224,&DAT_003059ce)" ( identifier , (pointer_expression "&DAT_003059ce" & identifier) ))) ;) (expression_statement "uVar12 = local_61e4._4_4_;" (assignment_expression "uVar12 = local_61e4._4_4_" identifier = (field_expression "local_61e4._4_4_" identifier . field_identifier)) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" identifier (argument_list "(local_6224,local_5020,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_61cc = (double)(ulonglong)(local_60a0 + local_6098);" (assignment_expression "local_61cc = (double)(ulonglong)(local_60a0 + local_6098)" identifier = (cast_expression "(double)(ulonglong)(local_60a0 + local_6098)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ulonglong)(local_60a0 + local_6098)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(local_60a0 + local_6098)" ( (binary_expression "local_60a0 + local_6098" identifier + identifier) ))))) ;) (expression_statement "uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);" (assignment_expression "uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20)" identifier = (call_expression "(undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20)" ( (binary_expression "(ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20" (call_expression "(ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90)" ( (binary_expression "(double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90" (binary_expression "(double)iVar27 * local_61e4 + (double)(longlong)local_61cc" (binary_expression "(double)iVar27 * local_61e4" (cast_expression "(double)iVar27" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) + (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) + (cast_expression "(double)DAT_002b1d90" ( (type_descriptor "double" primitive_type) ) identifier)) ))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" identifier (argument_list "(local_6224,local_5020,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);" (call_expression "FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27])" identifier (argument_list "(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27])" ( identifier , number_literal , (string_literal ""(%s) Tj\n"" " string_content escape_sequence ") , (subscript_expression "piVar25[iVar27]" identifier [ identifier ]) ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,&DAT_003059fa);" (call_expression "WriteBlobString(local_6224,&DAT_003059fa)" identifier (argument_list "(local_6224,&DAT_003059fa)" ( identifier , (pointer_expression "&DAT_003059fa" & identifier) ))) ;) (expression_statement "iVar11 = DestroyString(piVar25[iVar27]);" (assignment_expression "iVar11 = DestroyString(piVar25[iVar27])" identifier = (call_expression "DestroyString(piVar25[iVar27])" identifier (argument_list "(piVar25[iVar27])" ( (subscript_expression "piVar25[iVar27]" identifier [ identifier ]) )))) ;) (expression_statement "piVar25[iVar27] = iVar11;" (assignment_expression "piVar25[iVar27] = iVar11" (subscript_expression "piVar25[iVar27]" identifier [ identifier ]) = identifier) ;) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar25[iVar27] != 0)" ( (binary_expression "piVar25[iVar27] != 0" (subscript_expression "piVar25[iVar27]" identifier [ identifier ]) != number_literal) )) ;) })) (expression_statement "FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);" (call_expression "FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098)" identifier (argument_list "(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098)" ( identifier , number_literal , (string_literal ""%g 0 0 %g %.20g %.20g cm\n"" " string_content escape_sequence ") , (cast_expression "(double)fVar2" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)fVar1" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)local_609c" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)local_6098" ( (type_descriptor "double" primitive_type) ) identifier) ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,&DAT_00305a25);" (call_expression "WriteBlobString(local_6224,&DAT_00305a25)" identifier (argument_list "(local_6224,&DAT_00305a25)" ( identifier , (pointer_expression "&DAT_00305a25" & identifier) ))) ;) (expression_statement "TellBlob(local_6224);" (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"\nendstream\n");" (call_expression "WriteBlobString(local_6224,"\nendstream\n")" identifier (argument_list "(local_6224,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" identifier (argument_list "(local_6224,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" identifier = (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 2] = uVar33;" (assignment_expression "local_6200[local_61f4 + 2] = uVar33" (subscript_expression "local_6200[local_61f4 + 2]" identifier [ (binary_expression "local_61f4 + 2" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" identifier (argument_list "(local_6224,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" identifier = (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 3] = uVar33;" (assignment_expression "local_6200[local_61f4 + 3] = uVar33" (subscript_expression "local_6200[local_61f4 + 3]" identifier [ (binary_expression "local_61f4 + 3" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (if_statement "if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" if (parenthesized_expression "((*local_6224 == 1) || (0x100 < (uint)local_6224[9]))" ( (binary_expression "(*local_6224 == 1) || (0x100 < (uint)local_6224[9])" (parenthesized_expression "(*local_6224 == 1)" ( (binary_expression "*local_6224 == 1" (pointer_expression "*local_6224" * identifier) == number_literal) )) || (parenthesized_expression "(0x100 < (uint)local_6224[9])" ( (binary_expression "0x100 < (uint)local_6224[9]" number_literal < (cast_expression "(uint)local_6224[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[9]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }" { (expression_statement "CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);" (call_expression "CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000)" identifier (argument_list "(local_5020,"[ /PDF /Text /ImageC",0x1000)" ( identifier , (string_literal ""[ /PDF /Text /ImageC"" " string_content ") , number_literal ))) ;) }) (else_clause "else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" else (if_statement "if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" if (parenthesized_expression "(local_61a4 < 2)" ( (binary_expression "local_61a4 < 2" identifier < number_literal) )) (compound_statement "{\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }" { (expression_statement "CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);" (call_expression "CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000)" identifier (argument_list "(local_5020,"[ /PDF /Text /ImageB",0x1000)" ( identifier , (string_literal ""[ /PDF /Text /ImageB"" " string_content ") , number_literal ))) ;) }) (else_clause "else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" else (compound_statement "{\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" { (expression_statement "CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);" (call_expression "CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000)" identifier (argument_list "(local_5020,"[ /PDF /Text /ImageI",0x1000)" ( identifier , (string_literal ""[ /PDF /Text /ImageI"" " string_content ") , number_literal ))) ;) }))))) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224," ]\n");" (call_expression "WriteBlobString(local_6224," ]\n")" identifier (argument_list "(local_6224," ]\n")" ( identifier , (string_literal "" ]\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" identifier (argument_list "(local_6224,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" identifier = (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 4] = uVar33;" (assignment_expression "local_6200[local_61f4 + 4] = uVar33" (subscript_expression "local_6200[local_61f4 + 4]" identifier [ (binary_expression "local_61f4 + 4" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" identifier (argument_list "(local_6224,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }" if (parenthesized_expression "(piVar25 != (int *)0x0)" ( (binary_expression "piVar25 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }" { (expression_statement "WriteBlobString(local_6224,"/Type /Font\n");" (call_expression "WriteBlobString(local_6224,"/Type /Font\n")" identifier (argument_list "(local_6224,"/Type /Font\n")" ( identifier , (string_literal ""/Type /Font\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"/Subtype /Type1\n");" (call_expression "WriteBlobString(local_6224,"/Subtype /Type1\n")" identifier (argument_list "(local_6224,"/Subtype /Type1\n")" ( identifier , (string_literal ""/Subtype /Type1\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"/BaseFont /Helvetica\n");" (call_expression "WriteBlobString(local_6224,"/BaseFont /Helvetica\n")" identifier (argument_list "(local_6224,"/BaseFont /Helvetica\n")" ( identifier , (string_literal ""/BaseFont /Helvetica\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");" (call_expression "WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n")" identifier (argument_list "(local_6224,"/Encoding /MacRomanEncoding\n")" ( identifier , (string_literal ""/Encoding /MacRomanEncoding\n"" " string_content escape_sequence ") ))) ;) (expression_statement "RelinquishMagickMemory(piVar25);" (call_expression "RelinquishMagickMemory(piVar25)" identifier (argument_list "(piVar25)" ( identifier ))) ;) })) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" identifier (argument_list "(local_6224,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" identifier (argument_list "(local_6224,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" identifier = (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 5] = uVar33;" (assignment_expression "local_6200[local_61f4 + 5] = uVar33" (subscript_expression "local_6200[local_61f4 + 5]" identifier [ (binary_expression "local_61f4 + 5" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" identifier (argument_list "(local_6224,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"/Type /XObject\n");" (call_expression "WriteBlobString(local_6224,"/Type /XObject\n")" identifier (argument_list "(local_6224,"/Type /XObject\n")" ( identifier , (string_literal ""/Type /XObject\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"/Subtype /Image\n");" (call_expression "WriteBlobString(local_6224,"/Subtype /Image\n")" identifier (argument_list "(local_6224,"/Subtype /Image\n")" ( identifier , (string_literal ""/Subtype /Image\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (switch_statement "switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }" { (case_statement "case (uint *)0x0:" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);" (call_expression "CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" identifier (argument_list "(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" ( identifier , (string_literal ""/Filter [ /CCITTFaxDecode ]\n"" " string_content escape_sequence ") , number_literal ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "local_61cc = (double)(ulonglong)(uint)local_6224[7];" (assignment_expression "local_61cc = (double)(ulonglong)(uint)local_6224[7]" identifier = (cast_expression "(double)(ulonglong)(uint)local_6224[7]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)(uint)local_6224[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)local_6224[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[7]" identifier [ number_literal ]))))) ;) (expression_statement "dVar36 = (double)(longlong)local_61cc;" (assignment_expression "dVar36 = (double)(longlong)local_61cc" identifier = (cast_expression "(double)(longlong)local_61cc" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61cc" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0023602b;" goto statement_identifier ;)) (case_statement "default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;" default : (expression_statement "pcVar34 = "RunLengthDecode";" (assignment_expression "pcVar34 = "RunLengthDecode"" identifier = (string_literal ""RunLengthDecode"" " string_content ")) ;) (expression_statement "pcVar16 = "/Filter [ /%s ]\n";" (assignment_expression "pcVar16 = "/Filter [ /%s ]\n"" identifier = (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ")) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode")" identifier (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode")" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , (string_literal ""RunLengthDecode"" " string_content ") ))) ;) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,pcVar16);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,pcVar16)" identifier = (cast_expression "(double)CONCAT44(pcVar34,pcVar16)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar34,pcVar16)" identifier (argument_list "(pcVar34,pcVar16)" ( identifier , identifier ))))) ;) (labeled_statement "LAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);" statement_identifier : (expression_statement "WriteBlobString(local_6224,local_5020,dVar36);" (call_expression "WriteBlobString(local_6224,local_5020,dVar36)" identifier (argument_list "(local_6224,local_5020,dVar36)" ( identifier , identifier , identifier ))) ;)) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;" (assignment_expression "local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8" (field_expression "local_61cc._0_4_" identifier . field_identifier) = (binary_expression "(-(uint)(local_61a4 < 2) & 0xfffffff9) + 8" (parenthesized_expression "(-(uint)(local_61a4 < 2) & 0xfffffff9)" ( (binary_expression "-(uint)(local_61a4 < 2) & 0xfffffff9" (unary_expression "-(uint)(local_61a4 < 2)" - (call_expression "(uint)(local_61a4 < 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_61a4 < 2)" ( (binary_expression "local_61a4 < 2" identifier < number_literal) )))) & number_literal) )) + number_literal)) ;) (goto_statement "goto LAB_00235dee;" goto statement_identifier ;)) (case_statement "case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "JPXDecode";" (assignment_expression "pcVar34 = "JPXDecode"" identifier = (string_literal ""JPXDecode"" " string_content ")) ;) (goto_statement "goto code_r0x00235f5e;" goto statement_identifier ;)) (case_statement "case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;" case (cast_expression "(uint *)0x5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "DCTDecode";" (assignment_expression "pcVar34 = "DCTDecode"" identifier = (string_literal ""DCTDecode"" " string_content ")) ;) (labeled_statement "code_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" statement_identifier : (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" identifier (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;)) (if_statement "if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }" if (parenthesized_expression "(local_6224[1] == 2)" ( (binary_expression "local_6224[1] == 2" (subscript_expression "local_6224[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }" { (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);" (call_expression "CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" identifier (argument_list "(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" ( identifier , (string_literal ""/Decode [1 0 1 0 1 0 1 0]\n"" " string_content escape_sequence ") , number_literal ))) ;) })) (goto_statement "goto code_r0x00235d3f;" goto statement_identifier ;)) (case_statement "case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;" case (cast_expression "(uint *)0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "LZWDecode";" (assignment_expression "pcVar34 = "LZWDecode"" identifier = (string_literal ""LZWDecode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;" case (cast_expression "(uint *)0x9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "ASCII85Decode";" (assignment_expression "pcVar34 = "ASCII85Decode"" identifier = (string_literal ""ASCII85Decode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0xd:\n            pcVar34 = "FlateDecode";" case (cast_expression "(uint *)0xd" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "FlateDecode";" (assignment_expression "pcVar34 = "FlateDecode"" identifier = (string_literal ""FlateDecode"" " string_content ")) ;)) })) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" identifier (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;) (labeled_statement "code_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);" statement_identifier : (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;)) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "local_61cc._0_4_ = 8;" (assignment_expression "local_61cc._0_4_ = 8" (field_expression "local_61cc._0_4_" identifier . field_identifier) = number_literal) ;) (labeled_statement "LAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" statement_identifier : (expression_statement "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (call_expression "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" identifier (argument_list "(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" ( identifier , number_literal , (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ") , (field_expression "local_61cc._0_4_" identifier . field_identifier) ))) ;)) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (if_statement "if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }" if (parenthesized_expression "(local_6224[0xa5] != 0)" ( (binary_expression "local_6224[0xa5] != 0" (subscript_expression "local_6224[0xa5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }" { (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) })) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" identifier (argument_list "(local_6224,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar34 = pcVar19;" (assignment_expression "pcVar34 = pcVar19" identifier = identifier) ;) (expression_statement "WriteBlobString(local_6224,"stream\n");" (call_expression "WriteBlobString(local_6224,"stream\n")" identifier (argument_list "(local_6224,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(local_6224);" (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (expression_statement "uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);" (assignment_expression "uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6])" identifier = (call_expression "(uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6])" ( (binary_expression "(ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]" (cast_expression "(ulonglong)(uint)local_6224[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)local_6224[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[7]" identifier [ number_literal ]))) * (cast_expression "(ulonglong)(uint)local_6224[6]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)local_6224[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[6]" identifier [ number_literal ])))) )))) ;) (if_statement "if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }" if (parenthesized_expression "(((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0)" ( (binary_expression "((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0" (binary_expression "((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0" (parenthesized_expression "((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)" ( (binary_expression "(ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000" (binary_expression "(ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]" (cast_expression "(ulonglong)(uint)local_6224[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)local_6224[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[7]" identifier [ number_literal ]))) * (cast_expression "(ulonglong)(uint)local_6224[6]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)local_6224[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[6]" identifier [ number_literal ])))) & number_literal) )) != number_literal) || (binary_expression "uVar10 >> 0x1e != 0" (binary_expression "uVar10 >> 0x1e" identifier >> number_literal) != number_literal)) )) (compound_statement "{\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }" { (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = local_6224 + 0xc6;" (assignment_expression "piVar25 = local_6224 + 0xc6" identifier = (binary_expression "local_6224 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }" while (parenthesized_expression "(piVar5 = local_6224, piVar8 != (int *)0x0)" ( (comma_expression "piVar5 = local_6224, piVar8 != (int *)0x0" (assignment_expression "piVar5 = local_6224" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }" { (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "local_6224 = piVar8;" (assignment_expression "local_6224 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (if_statement "if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }" if (parenthesized_expression "(1 < local_61a4)" ( (binary_expression "1 < local_61a4" number_literal < identifier) )) (compound_statement "{\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }" { (if_statement "if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }" if (parenthesized_expression "((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0))" ( (binary_expression "(param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)" (parenthesized_expression "(param_1[0x6e] != 6)" ( (binary_expression "param_1[0x6e] != 6" (subscript_expression "param_1[0x6e]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)" ( (comma_expression "pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0" (assignment_expression "pcVar34 = param_3" identifier = identifier) , (comma_expression "iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0" (assignment_expression "iVar27 = SetImageGray(local_6224,param_3)" identifier = (call_expression "SetImageGray(local_6224,param_3)" identifier (argument_list "(local_6224,param_3)" ( identifier , identifier )))) , (binary_expression "iVar27 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }" { (switch_statement "switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }" { (case_statement "case (uint *)0x0:" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uint *)0x1:\n                goto LAB_00238a00;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (goto_statement "goto LAB_00238a00;" goto statement_identifier ;)) (case_statement "default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;" default : (expression_statement "local_6194 = AcquireVirtualMemory(uVar10,1);" (assignment_expression "local_6194 = AcquireVirtualMemory(uVar10,1)" identifier = (call_expression "AcquireVirtualMemory(uVar10,1)" identifier (argument_list "(uVar10,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }" if (parenthesized_expression "(local_6194 != 0)" ( (binary_expression "local_6194 != 0" identifier != number_literal) )) (compound_statement "{\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }" { (expression_statement "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);" (assignment_expression "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194)" identifier = (cast_expression "(undefined1 *)GetVirtualMemoryBlob(local_6194)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_6194)" identifier (argument_list "(local_6194)" ( identifier ))))) ;) (if_statement "if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }" if (parenthesized_expression "(0 < local_6224[7])" ( (binary_expression "0 < local_6224[7]" number_literal < (subscript_expression "local_6224[7]" identifier [ number_literal ])) )) (compound_statement "{\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "puVar28 = puVar14;" (assignment_expression "puVar28 = puVar14" identifier = identifier) ;) (do_statement "do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);" do (compound_statement "{\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    }" { (expression_statement "iVar11 = GetVirtualPixels();" (assignment_expression "iVar11 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar24 = puVar28;" (assignment_expression "puVar24 = puVar28" identifier = identifier) ;) (expression_statement "puVar22 = puVar28;" (assignment_expression "puVar22 = puVar28" identifier = identifier) ;) (if_statement "if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }" if (parenthesized_expression "(0 < local_6224[6])" ( (binary_expression "0 < local_6224[6]" number_literal < (subscript_expression "local_6224[6]" identifier [ number_literal ])) )) (compound_statement "{\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }" { (do_statement "do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);" do (compound_statement "{\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        }" { (expression_statement "iVar15 = local_6224[0xaa];" (assignment_expression "iVar15 = local_6224[0xaa]" identifier = (subscript_expression "local_6224[0xaa]" identifier [ number_literal ])) ;) (expression_statement "puVar22 = puVar24 + 1;" (assignment_expression "puVar22 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (expression_statement "fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);" (assignment_expression "fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" identifier = (binary_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" (binary_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" (binary_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404" (cast_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(iVar15 + 0x20) * 8)" ( (binary_expression "iVar11 + *(int *)(iVar15 + 0x20) * 8" identifier + (binary_expression "*(int *)(iVar15 + 0x20) * 8" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) * number_literal)) ))))) * identifier) + (binary_expression "DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" identifier * (cast_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(iVar15 + 0x14) * 8)" ( (binary_expression "iVar11 + *(int *)(iVar15 + 0x14) * 8" identifier + (binary_expression "*(int *)(iVar15 + 0x14) * 8" (pointer_expression "*(int *)(iVar15 + 0x14)" * (cast_expression "(int *)(iVar15 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x14)" ( (binary_expression "iVar15 + 0x14" identifier + number_literal) )))) * number_literal)) ))))))) + (binary_expression "DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" identifier * (cast_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(iVar15 + 8) * 8)" ( (binary_expression "iVar11 + *(int *)(iVar15 + 8) * 8" identifier + (binary_expression "*(int *)(iVar15 + 8) * 8" (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) )))) * number_literal)) )))))))) ;) (if_statement "if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }" if (parenthesized_expression "(0.0 < fVar1)" ( (binary_expression "0.0 < fVar1" number_literal < identifier) )) (compound_statement "{\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }" { (expression_statement "fVar1 = fVar1 / DAT_002a7ff0;" (assignment_expression "fVar1 = fVar1 / DAT_002a7ff0" identifier = (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier)) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }" if (parenthesized_expression "(fVar1 < DAT_002a7ff4)" ( (binary_expression "fVar1 < DAT_002a7ff4" identifier < identifier) )) (compound_statement "{\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar1 + DAT_0029f124)" identifier (argument_list "(fVar1 + DAT_0029f124)" ( (binary_expression "fVar1 + DAT_0029f124" identifier + identifier) )))))) ;) })) })) (expression_statement "*puVar24 = uVar6;" (assignment_expression "*puVar24 = uVar6" (pointer_expression "*puVar24" * identifier) = identifier) ;) (expression_statement "iVar11 = iVar11 + local_6224[0xa6] * 8;" (assignment_expression "iVar11 = iVar11 + local_6224[0xa6] * 8" identifier = (binary_expression "iVar11 + local_6224[0xa6] * 8" identifier + (binary_expression "local_6224[0xa6] * 8" (subscript_expression "local_6224[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar24 = puVar22;" (assignment_expression "puVar24 = puVar22" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar22 - (int)puVar28 < local_6224[6])" ( (binary_expression "(int)puVar22 - (int)puVar28 < local_6224[6]" (binary_expression "(int)puVar22 - (int)puVar28" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar28" ( (type_descriptor "int" primitive_type) ) identifier)) < (subscript_expression "local_6224[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "iVar11 = local_6224[7];" (assignment_expression "iVar11 = local_6224[7]" identifier = (subscript_expression "local_6224[7]" identifier [ number_literal ])) ;) (if_statement "if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }" if (parenthesized_expression "(local_6224[0xccf] == 0)" ( (binary_expression "local_6224[0xccf] == 0" (subscript_expression "local_6224[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }" { (expression_statement "iVar11 = SetImageProgress();" (assignment_expression "iVar11 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = local_6224[7];" (assignment_expression "iVar11 = local_6224[7]" identifier = (subscript_expression "local_6224[7]" identifier [ number_literal ])) ;) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "puVar28 = puVar22;" (assignment_expression "puVar28 = puVar22" identifier = identifier) ;) }) while (parenthesized_expression "(iVar27 < iVar11)" ( (binary_expression "iVar27 < iVar11" identifier < identifier) )) ;) })) (goto_statement "goto LAB_00237039;" goto statement_identifier ;) })) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = local_6224 + 0xc6;" (assignment_expression "piVar25 = local_6224 + 0xc6" identifier = (binary_expression "local_6224 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }" while (parenthesized_expression "(piVar5 = local_6224, piVar8 != (int *)0x0)" ( (comma_expression "piVar5 = local_6224, piVar8 != (int *)0x0" (assignment_expression "piVar5 = local_6224" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }" { (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "local_6224 = piVar8;" (assignment_expression "local_6224 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;)) (case_statement "case (uint *)0x4:\nLAB_00236188:\n                break;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_00236188:\n                break;" statement_identifier : (break_statement "break;" break ;))) (case_statement "case (uint *)0x5:\nLAB_00236760:\n                break;" case (cast_expression "(uint *)0x5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_00236760:\n                break;" statement_identifier : (break_statement "break;" break ;))) (case_statement "case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;" case (cast_expression "(uint *)0x9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "Ascii85Initialize(local_6224);" (call_expression "Ascii85Initialize(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (if_statement "if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }" if (parenthesized_expression "(0 < local_6224[7])" ( (binary_expression "0 < local_6224[7]" number_literal < (subscript_expression "local_6224[7]" identifier [ number_literal ])) )) (compound_statement "{\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);" do (compound_statement "{\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  }" { (expression_statement "pcVar34 = param_3;" (assignment_expression "pcVar34 = param_3" identifier = identifier) ;) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);" do (compound_statement "{\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      }" { (expression_statement "iVar15 = piVar31[0xaa];" (assignment_expression "iVar15 = piVar31[0xaa]" identifier = (subscript_expression "piVar31[0xaa]" identifier [ number_literal ])) ;) (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;" (assignment_expression "fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" identifier = (binary_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" (binary_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" (binary_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404" (cast_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(iVar15 + 0x20) * 8)" ( (binary_expression "iVar27 + *(int *)(iVar15 + 0x20) * 8" identifier + (binary_expression "*(int *)(iVar15 + 0x20) * 8" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) * number_literal)) ))))) * identifier) + (binary_expression "DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" identifier * (cast_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(iVar15 + 0x14) * 8)" ( (binary_expression "iVar27 + *(int *)(iVar15 + 0x14) * 8" identifier + (binary_expression "*(int *)(iVar15 + 0x14) * 8" (pointer_expression "*(int *)(iVar15 + 0x14)" * (cast_expression "(int *)(iVar15 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x14)" ( (binary_expression "iVar15 + 0x14" identifier + number_literal) )))) * number_literal)) ))))))) + (binary_expression "DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" identifier * (cast_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(iVar15 + 8) * 8)" ( (binary_expression "iVar27 + *(int *)(iVar15 + 8) * 8" identifier + (binary_expression "*(int *)(iVar15 + 8) * 8" (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) )))) * number_literal)) )))))))) ;) (if_statement "if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < fVar1)" ( (binary_expression "0.0 < fVar1" number_literal < identifier) )) (compound_statement "{\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }" { (expression_statement "fVar1 = fVar1 / DAT_002a7ff0;" (assignment_expression "fVar1 = fVar1 / DAT_002a7ff0" identifier = (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier)) ;) (expression_statement "pcVar34 = (char *)0xff;" (assignment_expression "pcVar34 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }" if (parenthesized_expression "(fVar1 < DAT_002a7ff4)" ( (binary_expression "fVar1 < DAT_002a7ff4" identifier < identifier) )) (compound_statement "{\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }" { (expression_statement "pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);" (assignment_expression "pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar1 + DAT_0029f124)" identifier (argument_list "(fVar1 + DAT_0029f124)" ( (binary_expression "fVar1 + DAT_0029f124" identifier + identifier) )))))))) ;) })) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(piVar31,pcVar34);" (call_expression "Ascii85Encode(piVar31,pcVar34)" identifier (argument_list "(piVar31,pcVar34)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar27 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "(iVar11 < piVar31[6])" ( (binary_expression "iVar11 < piVar31[6]" identifier < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) (if_statement "if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }" if (parenthesized_expression "(piVar31[0xccf] == 0)" ( (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }" { (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar27 = SetImageProgress();" (assignment_expression "iVar27 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)local_6224 < iVar27)" ( (binary_expression "(int)local_6224 < iVar27" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) (goto_statement "goto LAB_002368f4;" goto statement_identifier ;)) })) (expression_statement "iVar27 = InjectImageBlob();" (assignment_expression "iVar27 = InjectImageBlob()" identifier = (call_expression "InjectImageBlob()" identifier (argument_list "()" ( )))) ;) (labeled_statement "joined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;" statement_identifier : (if_statement "if (iVar27 != 0) goto LAB_002361b2;" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002361b2;" goto statement_identifier ;))) (goto_statement "goto LAB_0023707e;" goto statement_identifier ;) })) (if_statement "if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }" if (parenthesized_expression "(((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2))" ( (binary_expression "((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)" (parenthesized_expression "((*local_6224 == 1) || (0x100 < (uint)local_6224[9]))" ( (binary_expression "(*local_6224 == 1) || (0x100 < (uint)local_6224[9])" (parenthesized_expression "(*local_6224 == 1)" ( (binary_expression "*local_6224 == 1" (pointer_expression "*local_6224" * identifier) == number_literal) )) || (parenthesized_expression "(0x100 < (uint)local_6224[9])" ( (binary_expression "0x100 < (uint)local_6224[9]" number_literal < (cast_expression "(uint)local_6224[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_6224[9]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "(local_61b8 - 0xb < 2)" ( (binary_expression "local_61b8 - 0xb < 2" (binary_expression "local_61b8 - 0xb" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }" { (if_statement "if (local_61b8 == 0xc) goto LAB_00236760;" if (parenthesized_expression "(local_61b8 == 0xc)" ( (binary_expression "local_61b8 == 0xc" identifier == number_literal) )) (goto_statement "goto LAB_00236760;" goto statement_identifier ;)) (if_statement "if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }" if (parenthesized_expression "(local_61b8 != 0x10)" ( (binary_expression "local_61b8 != 0x10" identifier != number_literal) )) (compound_statement "{\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }" { (if_statement "if (local_61b8 == 0xb) goto LAB_00236188;" if (parenthesized_expression "(local_61b8 == 0xb)" ( (binary_expression "local_61b8 == 0xb" identifier == number_literal) )) (goto_statement "goto LAB_00236188;" goto statement_identifier ;)) (expression_statement "iVar27 = ((local_6224[1] == 2) + 3) * uVar10;" (assignment_expression "iVar27 = ((local_6224[1] == 2) + 3) * uVar10" identifier = (binary_expression "((local_6224[1] == 2) + 3) * uVar10" (parenthesized_expression "((local_6224[1] == 2) + 3)" ( (binary_expression "(local_6224[1] == 2) + 3" (parenthesized_expression "(local_6224[1] == 2)" ( (binary_expression "local_6224[1] == 2" (subscript_expression "local_6224[1]" identifier [ number_literal ]) == number_literal) )) + number_literal) )) * identifier)) ;) (expression_statement "local_6194 = AcquireVirtualMemory(iVar27,1);" (assignment_expression "local_6194 = AcquireVirtualMemory(iVar27,1)" identifier = (call_expression "AcquireVirtualMemory(iVar27,1)" identifier (argument_list "(iVar27,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }" if (parenthesized_expression "(local_6194 == 0)" ( (binary_expression "local_6194 == 0" identifier == number_literal) )) (compound_statement "{\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }" { (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = local_6224 + 0xc6;" (assignment_expression "piVar25 = local_6224 + 0xc6" identifier = (binary_expression "local_6224 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }" while (parenthesized_expression "(piVar5 = local_6224, piVar8 != (int *)0x0)" ( (comma_expression "piVar5 = local_6224, piVar8 != (int *)0x0" (assignment_expression "piVar5 = local_6224" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }" { (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "local_6224 = piVar8;" (assignment_expression "local_6224 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (expression_statement "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);" (assignment_expression "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194)" identifier = (cast_expression "(undefined1 *)GetVirtualMemoryBlob(local_6194)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_6194)" identifier (argument_list "(local_6194)" ( identifier ))))) ;) (if_statement "if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }" if (parenthesized_expression "(0 < local_6224[7])" ( (binary_expression "0 < local_6224[7]" number_literal < (subscript_expression "local_6224[7]" identifier [ number_literal ])) )) (compound_statement "{\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar28 = puVar14;" (assignment_expression "puVar28 = puVar14" identifier = identifier) ;) (do_statement "do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);" do (compound_statement "{\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  }" { (expression_statement "iVar11 = GetVirtualPixels();" (assignment_expression "iVar11 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "puVar24 = puVar28;" (assignment_expression "puVar24 = puVar28" identifier = identifier) ;) (do_statement "do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);" do (compound_statement "{\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      }" { (expression_statement "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);" (assignment_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8)" identifier = (pointer_expression "*(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8)" ( (binary_expression "iVar11 + *(int *)(piVar31[0xaa] + 8) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 8) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 8)" * (cast_expression "(int *)(piVar31[0xaa] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 8)" ( (binary_expression "piVar31[0xaa] + 8" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "*puVar24 = uVar6;" (assignment_expression "*puVar24 = uVar6" (pointer_expression "*puVar24" * identifier) = identifier) ;) (expression_statement "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);" (assignment_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8)" identifier = (pointer_expression "*(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8)" ( (binary_expression "iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x14) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x14)" * (cast_expression "(int *)(piVar31[0xaa] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x14)" ( (binary_expression "piVar31[0xaa] + 0x14" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "puVar24[1] = uVar6;" (assignment_expression "puVar24[1] = uVar6" (subscript_expression "puVar24[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);" (assignment_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8)" identifier = (pointer_expression "*(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8)" ( (binary_expression "iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x20) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x20)" * (cast_expression "(int *)(piVar31[0xaa] + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x20)" ( (binary_expression "piVar31[0xaa] + 0x20" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "puVar24[2] = uVar6;" (assignment_expression "puVar24[2] = uVar6" (subscript_expression "puVar24[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }" if (parenthesized_expression "(piVar31[1] == 2)" ( (binary_expression "piVar31[1] == 2" (subscript_expression "piVar31[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }" { (expression_statement "puVar28 = puVar24 + 4;" (assignment_expression "puVar28 = puVar24 + 4" identifier = (binary_expression "puVar24 + 4" identifier + number_literal)) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }" if (parenthesized_expression "((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36))" ( (binary_expression "(*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)" (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x28) != 0)" ( (binary_expression "*(int *)(piVar31[0xaa] + 0x28) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x28)" * (cast_expression "(int *)(piVar31[0xaa] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x28)" ( (binary_expression "piVar31[0xaa] + 0x28" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)" ( (comma_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36" (assignment_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" ( (binary_expression "iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x2c) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x2c)" * (cast_expression "(int *)(piVar31[0xaa] + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x2c)" ( (binary_expression "piVar31[0xaa] + 0x2c" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) , (binary_expression "0.0 < dVar36" number_literal < identifier)) ))) )) (compound_statement "{\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "puVar24[3] = uVar6;" (assignment_expression "puVar24[3] = uVar6" (subscript_expression "puVar24[3]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                          puVar28 = puVar24 + 3;\n                        }" else (compound_statement "{\n                          puVar28 = puVar24 + 3;\n                        }" { (expression_statement "puVar28 = puVar24 + 3;" (assignment_expression "puVar28 = puVar24 + 3" identifier = (binary_expression "puVar24 + 3" identifier + number_literal)) ;) }))) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = iVar11 + piVar31[0xa6] * 8;" (assignment_expression "iVar11 = iVar11 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar11 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar24 = puVar28;" (assignment_expression "puVar24 = puVar28" identifier = identifier) ;) }) while (parenthesized_expression "(iVar15 < piVar31[6])" ( (binary_expression "iVar15 < piVar31[6]" identifier < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "iVar11 = piVar31[7];" (assignment_expression "iVar11 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) (if_statement "if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }" if (parenthesized_expression "(piVar31[0xccf] == 0)" ( (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }" { (expression_statement "iVar11 = SetImageProgress();" (assignment_expression "iVar11 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = piVar31[7];" (assignment_expression "iVar11 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)local_6224 < iVar11)" ( (binary_expression "(int)local_6224 < iVar11" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) (if_statement "if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }" if (parenthesized_expression "(local_61b8 == 0xf)" ( (binary_expression "local_61b8 == 0xf" identifier == number_literal) )) (compound_statement "{\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }" { (expression_statement "iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);" (assignment_expression "iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3)" identifier = (call_expression "LZWEncodeImage(piVar31,iVar27,puVar14,param_3)" identifier (argument_list "(piVar31,iVar27,puVar14,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }" else (compound_statement "{\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }" { (expression_statement "iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);" (assignment_expression "iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3)" identifier = (call_expression "PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3)" identifier (argument_list "(piVar31,iVar27,puVar14,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }))) (goto_statement "goto LAB_00237064;" goto statement_identifier ;) })) (expression_statement "Ascii85Initialize(local_6224);" (call_expression "Ascii85Initialize(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (if_statement "if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }" if (parenthesized_expression "(0 < local_6224[7])" ( (binary_expression "0 < local_6224[7]" number_literal < (subscript_expression "local_6224[7]" identifier [ number_literal ])) )) (compound_statement "{\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);" do (compound_statement "{\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                }" { (expression_statement "pcVar34 = param_3;" (assignment_expression "pcVar34 = param_3" identifier = identifier) ;) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);" do (compound_statement "{\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    }" { (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 8) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 8) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 8)" * (cast_expression "(int *)(piVar31[0xaa] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 8)" ( (binary_expression "piVar31[0xaa] + 8" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x14) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x14)" * (cast_expression "(int *)(piVar31[0xaa] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x14)" ( (binary_expression "piVar31[0xaa] + 0x14" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x20) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x20)" * (cast_expression "(int *)(piVar31[0xaa] + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x20)" ( (binary_expression "piVar31[0xaa] + 0x20" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "pcVar34 = (char *)0xff;" (assignment_expression "pcVar34 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" { (expression_statement "pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,pcVar34);" (call_expression "Ascii85Encode(piVar31,pcVar34)" identifier (argument_list "(piVar31,pcVar34)" ( identifier , identifier ))) ;) (if_statement "if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }" if (parenthesized_expression "(piVar31[1] == 2)" ( (binary_expression "piVar31[1] == 2" (subscript_expression "piVar31[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }" { (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }" if (parenthesized_expression "((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36))" ( (binary_expression "(*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)" (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x28) != 0)" ( (binary_expression "*(int *)(piVar31[0xaa] + 0x28) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x28)" * (cast_expression "(int *)(piVar31[0xaa] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x28)" ( (binary_expression "piVar31[0xaa] + 0x28" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)" ( (comma_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x2c) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x2c)" * (cast_expression "(int *)(piVar31[0xaa] + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x2c)" ( (binary_expression "piVar31[0xaa] + 0x2c" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) , (binary_expression "0.0 < dVar36" number_literal < identifier)) ))) )) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "pcVar34 = (char *)0xff;" (assignment_expression "pcVar34 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" { (expression_statement "pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );" (assignment_expression "pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" identifier (argument_list "(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,pcVar34);" (call_expression "Ascii85Encode(piVar31,pcVar34)" identifier (argument_list "(piVar31,pcVar34)" ( identifier , identifier ))) ;) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar27 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "(iVar11 < piVar31[6])" ( (binary_expression "iVar11 < piVar31[6]" identifier < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) (if_statement "if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }" if (parenthesized_expression "(piVar31[0xccf] == 0)" ( (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }" { (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar27 = SetImageProgress();" (assignment_expression "iVar27 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)local_6224 < iVar27)" ( (binary_expression "(int)local_6224 < iVar27" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) }) (else_clause "else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }" else (compound_statement "{\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }" { (if_statement "if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }" if (parenthesized_expression "(local_61b8 != 0x10)" ( (binary_expression "local_61b8 != 0x10" identifier != number_literal) )) (compound_statement "{\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }" { (expression_statement "local_6194 = AcquireVirtualMemory(uVar10,1);" (assignment_expression "local_6194 = AcquireVirtualMemory(uVar10,1)" identifier = (call_expression "AcquireVirtualMemory(uVar10,1)" identifier (argument_list "(uVar10,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }" if (parenthesized_expression "(local_6194 != 0)" ( (binary_expression "local_6194 != 0" identifier != number_literal) )) (compound_statement "{\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }" { (expression_statement "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);" (assignment_expression "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194)" identifier = (cast_expression "(undefined1 *)GetVirtualMemoryBlob(local_6194)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_6194)" identifier (argument_list "(local_6194)" ( identifier ))))) ;) (if_statement "if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }" if (parenthesized_expression "(0 < local_6224[7])" ( (binary_expression "0 < local_6224[7]" number_literal < (subscript_expression "local_6224[7]" identifier [ number_literal ])) )) (compound_statement "{\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar28 = puVar14;" (assignment_expression "puVar28 = puVar14" identifier = identifier) ;) (do_statement "do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);" do (compound_statement "{\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    }" { (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar24 = puVar28;" (assignment_expression "puVar24 = puVar28" identifier = identifier) ;) (expression_statement "puVar22 = puVar28;" (assignment_expression "puVar22 = puVar28" identifier = identifier) ;) (if_statement "if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }" { (do_statement "do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);" do (compound_statement "{\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }" if (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x40) != 0)" ( (binary_expression "*(int *)(piVar31[0xaa] + 0x40) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x40)" * (cast_expression "(int *)(piVar31[0xaa] + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x40)" ( (binary_expression "piVar31[0xaa] + 0x40" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }" { (expression_statement "uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));" (assignment_expression "uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" identifier = (cast_expression "(undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" identifier (argument_list "(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" ( (pointer_expression "*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" * (cast_expression "(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x44) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x44)" * (cast_expression "(int *)(piVar31[0xaa] + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x44)" ( (binary_expression "piVar31[0xaa] + 0x44" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) )))) )))))) ;) })) (expression_statement "puVar22 = puVar24 + 1;" (assignment_expression "puVar22 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (expression_statement "*puVar24 = uVar6;" (assignment_expression "*puVar24 = uVar6" (pointer_expression "*puVar24" * identifier) = identifier) ;) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar27 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar24 = puVar22;" (assignment_expression "puVar24 = puVar22" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar22 - (int)puVar28 < piVar31[6])" ( (binary_expression "(int)puVar22 - (int)puVar28 < piVar31[6]" (binary_expression "(int)puVar22 - (int)puVar28" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar28" ( (type_descriptor "int" primitive_type) ) identifier)) < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) (if_statement "if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }" if (parenthesized_expression "(piVar31[0xccf] == 0)" ( (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }" { (expression_statement "iVar27 = SetImageProgress();" (assignment_expression "iVar27 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar28 = puVar22;" (assignment_expression "puVar28 = puVar22" identifier = identifier) ;) }) while (parenthesized_expression "((int)local_6224 < iVar27)" ( (binary_expression "(int)local_6224 < iVar27" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) (labeled_statement "LAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" statement_identifier : (if_statement "if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" if (parenthesized_expression "(local_61b8 == 0xf)" ( (binary_expression "local_61b8 == 0xf" identifier == number_literal) )) (compound_statement "{\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" { (expression_statement "iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);" (assignment_expression "iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3)" identifier = (call_expression "LZWEncodeImage(piVar31,uVar10,puVar14,param_3)" identifier (argument_list "(piVar31,uVar10,puVar14,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" else (compound_statement "{\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" { (expression_statement "iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);" (assignment_expression "iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3)" identifier = (call_expression "PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3)" identifier (argument_list "(piVar31,uVar10,puVar14,param_3)" ( identifier , identifier , identifier , identifier )))) ;) })))) (labeled_statement "LAB_00237064:\n                  RelinquishVirtualMemory(local_6194);" statement_identifier : (expression_statement "RelinquishVirtualMemory(local_6194);" (call_expression "RelinquishVirtualMemory(local_6194)" identifier (argument_list "(local_6194)" ( identifier ))) ;)) (goto_statement "goto joined_r0x002361ac;" goto statement_identifier ;) })) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = local_6224 + 0xc6;" (assignment_expression "piVar25 = local_6224 + 0xc6" identifier = (binary_expression "local_6224 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (if_statement "if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }" if (parenthesized_expression "(param_1[3] != 0)" ( (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }" { (expression_statement "piVar8 = (int *)local_6224[0xccf];" (assignment_expression "piVar8 = (int *)local_6224[0xccf]" identifier = (cast_expression "(int *)local_6224[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_6224[0xccf]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }" while (parenthesized_expression "(piVar5 = piVar8, piVar5 != (int *)0x0)" ( (comma_expression "piVar5 = piVar8, piVar5 != (int *)0x0" (assignment_expression "piVar5 = piVar8" identifier = identifier) , (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }" { (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) })) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (expression_statement "Ascii85Initialize(local_6224);" (call_expression "Ascii85Initialize(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (if_statement "if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }" if (parenthesized_expression "(0 < local_6224[7])" ( (binary_expression "0 < local_6224[7]" number_literal < (subscript_expression "local_6224[7]" identifier [ number_literal ])) )) (compound_statement "{\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);" do (compound_statement "{\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                }" { (expression_statement "pcVar34 = param_3;" (assignment_expression "pcVar34 = param_3" identifier = identifier) ;) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);" do (compound_statement "{\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    }" { (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }" if (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x40) != 0)" ( (binary_expression "*(int *)(piVar31[0xaa] + 0x40) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x40)" * (cast_expression "(int *)(piVar31[0xaa] + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x40)" ( (binary_expression "piVar31[0xaa] + 0x40" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }" { (expression_statement "pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);" (assignment_expression "pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff)" identifier = (cast_expression "(char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff)" ( (binary_expression "(int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff" (cast_expression "(int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     )" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     )" identifier (argument_list "(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     )" ( (pointer_expression "*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" * (cast_expression "(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x44) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x44)" * (cast_expression "(int *)(piVar31[0xaa] + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x44)" ( (binary_expression "piVar31[0xaa] + 0x44" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) )))) )))) & number_literal) )))) ;) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(piVar31,pcVar34);" (call_expression "Ascii85Encode(piVar31,pcVar34)" identifier (argument_list "(piVar31,pcVar34)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar27 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "(iVar11 < piVar31[6])" ( (binary_expression "iVar11 < piVar31[6]" identifier < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) (if_statement "if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }" if (parenthesized_expression "(piVar31[0xccf] == 0)" ( (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }" { (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar27 = SetImageProgress();" (assignment_expression "iVar27 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" identifier = (subscript_expression "piVar31[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)local_6224 < iVar27)" ( (binary_expression "(int)local_6224 < iVar27" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) }))) (labeled_statement "LAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);" statement_identifier : (expression_statement "Ascii85Flush(piVar31,pcVar34);" (call_expression "Ascii85Flush(piVar31,pcVar34)" identifier (argument_list "(piVar31,pcVar34)" ( identifier , identifier ))) ;)) (goto_statement "goto LAB_002361b2;" goto statement_identifier ;) })) (labeled_statement "LAB_00238a00:\n          iVar27 = LocaleCompare("0","0");" statement_identifier : (expression_statement "iVar27 = LocaleCompare("0","0");" (assignment_expression "iVar27 = LocaleCompare("0","0")" identifier = (call_expression "LocaleCompare("0","0")" identifier (argument_list "("0","0")" ( (string_literal ""0"" " string_content ") , (string_literal ""0"" " string_content ") )))) ;)) (if_statement "if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (compound_statement "{\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }" { (expression_statement "HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);" (call_expression "HuffmanEncodeImage(param_1,local_6224,local_6224,param_3)" identifier (argument_list "(param_1,local_6224,local_6224,param_3)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n            FUN_00233f80(param_3);\n          }" else (compound_statement "{\n            FUN_00233f80(param_3);\n          }" { (expression_statement "FUN_00233f80(param_3);" (call_expression "FUN_00233f80(param_3)" identifier (argument_list "(param_3)" ( identifier ))) ;) }))) (labeled_statement "LAB_002361b2:\n          TellBlob(piVar31);" statement_identifier : (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;)) (expression_statement "WriteBlobString(piVar31,"\nendstream\n");" (call_expression "WriteBlobString(piVar31,"\nendstream\n")" identifier (argument_list "(piVar31,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 6] = uVar33;" (assignment_expression "local_6200[local_61f4 + 6] = uVar33" (subscript_expression "local_6200[local_61f4 + 6]" identifier [ (binary_expression "local_61f4 + 6" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar10 = local_61f4 + 8;" (assignment_expression "uVar10 = local_61f4 + 8" identifier = (binary_expression "local_61f4 + 8" identifier + number_literal)) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 7] = uVar33;" (assignment_expression "local_6200[local_61f4 + 7] = uVar33" (subscript_expression "local_6200[local_61f4 + 7]" identifier [ (binary_expression "local_61f4 + 7" identifier + number_literal) ]) = identifier) ;) (expression_statement "local_61c4 = (ulonglong)uVar10;" (assignment_expression "local_61c4 = (ulonglong)uVar10" identifier = (cast_expression "(ulonglong)uVar10" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "local_620c = "endobj\n";" (assignment_expression "local_620c = "endobj\n"" identifier = (string_literal ""endobj\n"" " string_content escape_sequence ")) ;) (if_statement "if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }" if (parenthesized_expression "(piVar31[1] == 2)" ( (binary_expression "piVar31[1] == 2" (subscript_expression "piVar31[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }" { (if_statement "if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }" { (expression_statement "pcVar34 = "DeviceCMYK";" (assignment_expression "pcVar34 = "DeviceCMYK"" identifier = (string_literal ""DeviceCMYK"" " string_content ")) ;) (goto_statement "goto LAB_0023814a;" goto statement_identifier ;) })) (expression_statement "pcVar34 = "DeviceCMYK";" (assignment_expression "pcVar34 = "DeviceCMYK"" identifier = (string_literal ""DeviceCMYK"" " string_content ")) ;) (labeled_statement "LAB_0023632d:\n            puVar35 = &UNK_00305bee;" statement_identifier : (expression_statement "puVar35 = &UNK_00305bee;" (assignment_expression "puVar35 = &UNK_00305bee" identifier = (pointer_expression "&UNK_00305bee" & identifier)) ;)) (expression_statement "FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34)" identifier (argument_list "(local_5020,0x1000,&UNK_00305bee,pcVar34)" ( identifier , number_literal , (pointer_expression "&UNK_00305bee" & identifier) , identifier ))) ;) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,puVar35);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,puVar35)" identifier = (cast_expression "(double)CONCAT44(pcVar34,puVar35)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar34,puVar35)" identifier (argument_list "(pcVar34,puVar35)" ( identifier , identifier ))))) ;) (labeled_statement "LAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);" statement_identifier : (expression_statement "WriteBlobString(piVar31,local_5020,dVar36);" (call_expression "WriteBlobString(piVar31,local_5020,dVar36)" identifier (argument_list "(piVar31,local_5020,dVar36)" ( identifier , identifier , identifier ))) ;)) }) (else_clause "else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }" else (compound_statement "{\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }" { (if_statement "if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" if (parenthesized_expression "((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0))))" ( (binary_expression "(local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))" (parenthesized_expression "(local_61a4 < 2)" ( (binary_expression "local_61a4 < 2" identifier < number_literal) )) || (parenthesized_expression "((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))" ( (parenthesized_expression "(param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0))" ( (binary_expression "param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)" (binary_expression "param_1[0x6e] != 6" (subscript_expression "param_1[0x6e]" identifier [ number_literal ]) != number_literal) && (parenthesized_expression "(iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)" ( (comma_expression "iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0" (assignment_expression "iVar27 = SetImageGray(piVar31,param_3)" identifier = (call_expression "SetImageGray(piVar31,param_3)" identifier (argument_list "(piVar31,param_3)" ( identifier , identifier )))) , (binary_expression "iVar27 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }" { (expression_statement "pcVar34 = "DeviceGray";" (assignment_expression "pcVar34 = "DeviceGray"" identifier = (string_literal ""DeviceGray"" " string_content ")) ;) (if_statement "if (iVar7 == 0) goto LAB_0023632d;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0023632d;" goto statement_identifier ;)) (expression_statement "pcVar34 = "DeviceGray";" (assignment_expression "pcVar34 = "DeviceGray"" identifier = (string_literal ""DeviceGray"" " string_content ")) ;) }) (else_clause "else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" else (if_statement "if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" if (parenthesized_expression "(((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2))" ( (binary_expression "((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)" (parenthesized_expression "((*piVar31 == 1) || (0x100 < (uint)piVar31[9]))" ( (binary_expression "(*piVar31 == 1) || (0x100 < (uint)piVar31[9])" (parenthesized_expression "(*piVar31 == 1)" ( (binary_expression "*piVar31 == 1" (pointer_expression "*piVar31" * identifier) == number_literal) )) || (parenthesized_expression "(0x100 < (uint)piVar31[9])" ( (binary_expression "0x100 < (uint)piVar31[9]" number_literal < (cast_expression "(uint)piVar31[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar31[9]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "(local_61b8 - 0xb < 2)" ( (binary_expression "local_61b8 - 0xb < 2" (binary_expression "local_61b8 - 0xb" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }" { (expression_statement "pcVar34 = "DeviceRGB";" (assignment_expression "pcVar34 = "DeviceRGB"" identifier = (string_literal ""DeviceRGB"" " string_content ")) ;) (if_statement "if (iVar7 == 0) goto LAB_0023632d;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0023632d;" goto statement_identifier ;)) }) (else_clause "else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" else (compound_statement "{\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" { (if_statement "if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }" { (expression_statement "dVar36 = (double)local_61c4 + (double)DAT_002a9b78;" (assignment_expression "dVar36 = (double)local_61c4 + (double)DAT_002a9b78" identifier = (binary_expression "(double)local_61c4 + (double)DAT_002a9b78" (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier) + (cast_expression "(double)DAT_002a9b78" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00236346;" goto statement_identifier ;) })) (expression_statement "pcVar34 = "DeviceRGB";" (assignment_expression "pcVar34 = "DeviceRGB"" identifier = (string_literal ""DeviceRGB"" " string_content ")) ;) }))))) (labeled_statement "LAB_0023814a:\n            FormatLocaleString();" statement_identifier : (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;)) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 8] = uVar33;" (assignment_expression "local_6200[local_61f4 + 8] = uVar33" (subscript_expression "local_6200[local_61f4 + 8]" identifier [ (binary_expression "local_61f4 + 8" identifier + number_literal) ]) = identifier) ;) (expression_statement "local_61e4 = (double)(ulonglong)(local_61f4 + 9);" (assignment_expression "local_61e4 = (double)(ulonglong)(local_61f4 + 9)" identifier = (cast_expression "(double)(ulonglong)(local_61f4 + 9)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ulonglong)(local_61f4 + 9)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(local_61f4 + 9)" ( (binary_expression "local_61f4 + 9" identifier + number_literal) ))))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20)" ( (binary_expression "(ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20" (call_expression "(ulonglong)((double)(longlong)local_61e4 + 1.0)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((double)(longlong)local_61e4 + 1.0)" ( (binary_expression "(double)(longlong)local_61e4 + 1.0" (cast_expression "(double)(longlong)local_61e4" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_61e4" ( (type_descriptor "longlong" type_identifier) ) identifier)) + number_literal) ))) >> number_literal) )))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020,uVar12,pcVar34);" (call_expression "WriteBlobString(piVar31,local_5020,uVar12,pcVar34)" identifier (argument_list "(piVar31,local_5020,uVar12,pcVar34)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "iVar27 = GetStringInfoDatum(iVar7);" (assignment_expression "iVar27 = GetStringInfoDatum(iVar7)" identifier = (call_expression "GetStringInfoDatum(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) ;) (for_statement "for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }" for ( (assignment_expression "iVar11 = 0" identifier = number_literal) ; (comma_expression "iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15" (assignment_expression "iVar15 = GetStringInfoLength(iVar7)" identifier = (call_expression "GetStringInfoLength(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) , (binary_expression "iVar11 < iVar15" identifier < identifier)) ; (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ) (compound_statement "{\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }" { (expression_statement "Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));" (call_expression "Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11))" identifier (argument_list "(piVar31,*(undefined1 *)(iVar27 + iVar11))" ( identifier , (pointer_expression "*(undefined1 *)(iVar27 + iVar11)" * (cast_expression "(undefined1 *)(iVar27 + iVar11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + iVar11)" ( (binary_expression "iVar27 + iVar11" identifier + identifier) )))) ))) ;) })) (expression_statement "Ascii85Flush(piVar31);" (call_expression "Ascii85Flush(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"endstream\n");" (call_expression "WriteBlobString(piVar31,"endstream\n")" identifier (argument_list "(piVar31,"endstream\n")" ( identifier , (string_literal ""endstream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar10 = local_61f4 + 10;" (assignment_expression "uVar10 = local_61f4 + 10" identifier = (binary_expression "local_61f4 + 10" identifier + number_literal)) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[local_61f4 + 9] = uVar33;" (assignment_expression "local_6200[local_61f4 + 9] = uVar33" (subscript_expression "local_6200[local_61f4 + 9]" identifier [ (binary_expression "local_61f4 + 9" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,uVar12);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,uVar12)" identifier = (cast_expression "(double)CONCAT44(pcVar34,uVar12)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar34,uVar12)" identifier (argument_list "(pcVar34,uVar12)" ( identifier , identifier ))))) ;) }))) (expression_statement "WriteBlobString(piVar31,"endobj\n",dVar36);" (call_expression "WriteBlobString(piVar31,"endobj\n",dVar36)" identifier (argument_list "(piVar31,"endobj\n",dVar36)" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "SetGeometry(piVar31,&local_60a4);" (call_expression "SetGeometry(piVar31,&local_60a4)" identifier (argument_list "(piVar31,&local_60a4)" ( identifier , (pointer_expression "&local_60a4" & identifier) ))) ;) (expression_statement "ParseMetaGeometry();" (call_expression "ParseMetaGeometry()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar12 = GetImageOption(param_1,"pdf:thumbnail");" (assignment_expression "uVar12 = GetImageOption(param_1,"pdf:thumbnail")" identifier = (call_expression "GetImageOption(param_1,"pdf:thumbnail")" identifier (argument_list "(param_1,"pdf:thumbnail")" ( identifier , (string_literal ""pdf:thumbnail"" " string_content ") )))) ;) (expression_statement "iVar7 = IsStringTrue(uVar12);" (assignment_expression "iVar7 = IsStringTrue(uVar12)" identifier = (call_expression "IsStringTrue(uVar12)" identifier (argument_list "(uVar12)" ( identifier )))) ;) (if_statement "if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            ParseMetaGeometry();\n          }" { (expression_statement "ParseMetaGeometry();" (call_expression "ParseMetaGeometry()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);" (assignment_expression "puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3)" identifier = (cast_expression "(uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ThumbnailImage(piVar31,local_60a4,local_60a0,param_3)" identifier (argument_list "(piVar31,local_60a4,local_60a0,param_3)" ( identifier , identifier , identifier , identifier ))))) ;) (if_statement "if (puVar13 == (uint *)0x0) goto LAB_002345f8;" if (parenthesized_expression "(puVar13 == (uint *)0x0)" ( (binary_expression "puVar13 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002345f8;" goto statement_identifier ;)) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[uVar10] = uVar33;" (assignment_expression "local_6200[uVar10] = uVar33" (subscript_expression "local_6200[uVar10]" identifier [ identifier ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"<<\n");" (call_expression "WriteBlobString(piVar31,"<<\n")" identifier (argument_list "(piVar31,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (switch_statement "switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }" { (case_statement "case (uint *)0x0:" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);" (call_expression "CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" identifier (argument_list "(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" ( identifier , (string_literal ""/Filter [ /CCITTFaxDecode ]\n"" " string_content escape_sequence ") , number_literal ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "local_61c4 = (ulonglong)puVar13[7];" (assignment_expression "local_61c4 = (ulonglong)puVar13[7]" identifier = (cast_expression "(ulonglong)puVar13[7]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) ;) (expression_statement "dVar36 = (double)local_61c4;" (assignment_expression "dVar36 = (double)local_61c4" identifier = (cast_expression "(double)local_61c4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto code_r0x0023649f;" goto statement_identifier ;)) (case_statement "default:\n            pcVar34 = "RunLengthDecode";\n            break;" default : (expression_statement "pcVar34 = "RunLengthDecode";" (assignment_expression "pcVar34 = "RunLengthDecode"" identifier = (string_literal ""RunLengthDecode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "JPXDecode";" (assignment_expression "pcVar34 = "JPXDecode"" identifier = (string_literal ""JPXDecode"" " string_content ")) ;) (goto_statement "goto code_r0x00236676;" goto statement_identifier ;)) (case_statement "case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;" case (cast_expression "(uint *)0x5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "DCTDecode";" (assignment_expression "pcVar34 = "DCTDecode"" identifier = (string_literal ""DCTDecode"" " string_content ")) ;) (labeled_statement "code_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";" statement_identifier : (expression_statement "pcVar16 = "/Filter [ /%s ]\n";" (assignment_expression "pcVar16 = "/Filter [ /%s ]\n"" identifier = (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ")) ;)) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" identifier (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,pcVar16);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,pcVar16)" identifier = (cast_expression "(double)CONCAT44(pcVar34,pcVar16)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar34,pcVar16)" identifier (argument_list "(pcVar34,pcVar16)" ( identifier , identifier ))))) ;) (if_statement "if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }" if (parenthesized_expression "(puVar13[1] == 2)" ( (binary_expression "puVar13[1] == 2" (subscript_expression "puVar13[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }" { (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "uVar12 = 0x1000;" (assignment_expression "uVar12 = 0x1000" identifier = number_literal) ;) (expression_statement "CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);" (call_expression "CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" identifier (argument_list "(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" ( identifier , (string_literal ""/Decode [1 0 1 0 1 0 1 0]\n"" " string_content escape_sequence ") , number_literal ))) ;) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,uVar12);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,uVar12)" identifier = (cast_expression "(double)CONCAT44(pcVar34,uVar12)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar34,uVar12)" identifier (argument_list "(pcVar34,uVar12)" ( identifier , identifier ))))) ;) })) (goto_statement "goto code_r0x0023649f;" goto statement_identifier ;)) (case_statement "case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;" case (cast_expression "(uint *)0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "LZWDecode";" (assignment_expression "pcVar34 = "LZWDecode"" identifier = (string_literal ""LZWDecode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;" case (cast_expression "(uint *)0x9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "ASCII85Decode";" (assignment_expression "pcVar34 = "ASCII85Decode"" identifier = (string_literal ""ASCII85Decode"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case (uint *)0xd:\n            pcVar34 = "FlateDecode";" case (cast_expression "(uint *)0xd" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "pcVar34 = "FlateDecode";" (assignment_expression "pcVar34 = "FlateDecode"" identifier = (string_literal ""FlateDecode"" " string_content ")) ;)) })) (expression_statement "pcVar16 = "/Filter [ /%s ]\n";" (assignment_expression "pcVar16 = "/Filter [ /%s ]\n"" identifier = (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ")) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" identifier (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,pcVar16);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,pcVar16)" identifier = (cast_expression "(double)CONCAT44(pcVar34,pcVar16)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(pcVar34,pcVar16)" identifier (argument_list "(pcVar34,pcVar16)" ( identifier , identifier ))))) ;) (labeled_statement "code_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);" statement_identifier : (expression_statement "WriteBlobString(piVar31,local_5020,dVar36);" (call_expression "WriteBlobString(piVar31,local_5020,dVar36)" identifier (argument_list "(piVar31,local_5020,dVar36)" ( identifier , identifier , identifier ))) ;)) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "pcVar34 = "/BitsPerComponent %d\n";" (assignment_expression "pcVar34 = "/BitsPerComponent %d\n"" identifier = (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ")) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (call_expression "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" identifier (argument_list "(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" ( identifier , number_literal , (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ") , (field_expression "local_61cc._0_4_" identifier . field_identifier) ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" identifier (argument_list "(piVar31,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar16 = pcVar19;" (assignment_expression "pcVar16 = pcVar19" identifier = identifier) ;) (expression_statement "WriteBlobString(piVar31,"stream\n");" (call_expression "WriteBlobString(piVar31,"stream\n")" identifier (argument_list "(piVar31,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }" if (parenthesized_expression "(local_61a4 < 2)" ( (binary_expression "local_61a4 < 2" identifier < number_literal) )) (compound_statement "{\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }" { (labeled_statement "LAB_00238a40:\n            iVar7 = LocaleCompare("0","0");" statement_identifier : (expression_statement "iVar7 = LocaleCompare("0","0");" (assignment_expression "iVar7 = LocaleCompare("0","0")" identifier = (call_expression "LocaleCompare("0","0")" identifier (argument_list "("0","0")" ( (string_literal ""0"" " string_content ") , (string_literal ""0"" " string_content ") )))) ;)) (if_statement "if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }" { (expression_statement "pcVar34 = (char *)puVar13;" (assignment_expression "pcVar34 = (char *)puVar13" identifier = (cast_expression "(char *)puVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);" (call_expression "HuffmanEncodeImage(param_1,piVar31,puVar13,param_3)" identifier (argument_list "(param_1,piVar31,puVar13,param_3)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              FUN_00233f80(param_3);\n            }" else (compound_statement "{\n              FUN_00233f80(param_3);\n            }" { (expression_statement "FUN_00233f80(param_3);" (call_expression "FUN_00233f80(param_3)" identifier (argument_list "(param_3)" ( identifier ))) ;) }))) (goto_statement "goto LAB_00236939;" goto statement_identifier ;) })) (expression_statement "iVar7 = puVar13[7] * puVar13[6];" (assignment_expression "iVar7 = puVar13[7] * puVar13[6]" identifier = (binary_expression "puVar13[7] * puVar13[6]" (subscript_expression "puVar13[7]" identifier [ number_literal ]) * (subscript_expression "puVar13[6]" identifier [ number_literal ]))) ;) (if_statement "if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }" if (parenthesized_expression "((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0))" ( (binary_expression "(param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)" (parenthesized_expression "(param_1[0x6e] == 6)" ( (binary_expression "param_1[0x6e] == 6" (subscript_expression "param_1[0x6e]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)" ( (comma_expression "pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0" (assignment_expression "pcVar16 = param_3" identifier = identifier) , (comma_expression "iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0" (assignment_expression "iVar27 = SetImageGray(puVar13,param_3)" identifier = (call_expression "SetImageGray(puVar13,param_3)" identifier (argument_list "(puVar13,param_3)" ( identifier , identifier )))) , (binary_expression "iVar27 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }" { (if_statement "if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }" if (parenthesized_expression "((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb))))" ( (binary_expression "(*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))" (parenthesized_expression "(*puVar13 != 1)" ( (binary_expression "*puVar13 != 1" (pointer_expression "*puVar13" * identifier) != number_literal) )) && (parenthesized_expression "((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))" ( (parenthesized_expression "(puVar13[9] < 0x101 && (1 < local_61b8 - 0xb))" ( (binary_expression "puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)" (binary_expression "puVar13[9] < 0x101" (subscript_expression "puVar13[9]" identifier [ number_literal ]) < number_literal) && (parenthesized_expression "(1 < local_61b8 - 0xb)" ( (binary_expression "1 < local_61b8 - 0xb" number_literal < (binary_expression "local_61b8 - 0xb" identifier - number_literal)) ))) )) ))) )) (compound_statement "{\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }" { (if_statement "if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }" if (parenthesized_expression "(local_61b8 == 0x10)" ( (binary_expression "local_61b8 == 0x10" identifier == number_literal) )) (compound_statement "{\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }" { (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }" if (parenthesized_expression "(0 < (int)puVar13[7])" ( (binary_expression "0 < (int)puVar13[7]" number_literal < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) (compound_statement "{\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }" { (expression_statement "local_61dc = 0;" (assignment_expression "local_61dc = 0" identifier = number_literal) ;) (do_statement "do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);" do (compound_statement "{\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  }" { (expression_statement "pcVar16 = param_3;" (assignment_expression "pcVar16 = param_3" identifier = identifier) ;) (expression_statement "iVar7 = GetVirtualPixels();" (assignment_expression "iVar7 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }" if (parenthesized_expression "(0 < (int)puVar13[6])" ( (binary_expression "0 < (int)puVar13[6]" number_literal < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);" do (compound_statement "{\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      }" { (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }" if (parenthesized_expression "(*(int *)(puVar13[0xaa] + 0x40) != 0)" ( (binary_expression "*(int *)(puVar13[0xaa] + 0x40) != 0" (pointer_expression "*(int *)(puVar13[0xaa] + 0x40)" * (cast_expression "(int *)(puVar13[0xaa] + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x40)" ( (binary_expression "puVar13[0xaa] + 0x40" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }" { (expression_statement "pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);" (assignment_expression "pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff)" identifier = (cast_expression "(char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff)" ( (binary_expression "(int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff" (cast_expression "(int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         ))" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         ))" identifier (argument_list "(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         ))" ( (pointer_expression "*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )" * (cast_expression "(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )" ( (binary_expression "iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x44) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x44)" * (cast_expression "(int *)(puVar13[0xaa] + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x44)" ( (binary_expression "puVar13[0xaa] + 0x44" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) )))) )))) & number_literal) )))) ;) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) (expression_statement "iVar7 = iVar7 + piVar31[0xa6] * 8;" (assignment_expression "iVar7 = iVar7 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar7 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "(iVar27 < (int)puVar13[6])" ( (binary_expression "iVar27 < (int)puVar13[6]" identifier < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "local_61dc = local_61dc + 1;" (assignment_expression "local_61dc = local_61dc + 1" identifier = (binary_expression "local_61dc + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_61dc < (int)puVar13[7])" ( (binary_expression "local_61dc < (int)puVar13[7]" identifier < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) ;) })) (goto_statement "goto LAB_00236e87;" goto statement_identifier ;) })) (expression_statement "local_61dc = AcquireVirtualMemory(iVar7,1);" (assignment_expression "local_61dc = AcquireVirtualMemory(iVar7,1)" identifier = (call_expression "AcquireVirtualMemory(iVar7,1)" identifier (argument_list "(iVar7,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }" if (parenthesized_expression "(local_61dc != 0)" ( (binary_expression "local_61dc != 0" identifier != number_literal) )) (compound_statement "{\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }" { (expression_statement "local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);" (assignment_expression "local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc)" identifier = (cast_expression "(uint *)GetVirtualMemoryBlob(local_61dc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_61dc)" identifier (argument_list "(local_61dc)" ( identifier ))))) ;) (if_statement "if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }" if (parenthesized_expression "(0 < (int)puVar13[7])" ( (binary_expression "0 < (int)puVar13[7]" number_literal < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) (compound_statement "{\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "puVar29 = local_61a8;" (assignment_expression "puVar29 = local_61a8" identifier = identifier) ;) (do_statement "do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);" do (compound_statement "{\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  }" { (expression_statement "iVar11 = GetVirtualPixels();" (assignment_expression "iVar11 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar20 = puVar29;" (assignment_expression "puVar20 = puVar29" identifier = identifier) ;) (expression_statement "puVar23 = puVar29;" (assignment_expression "puVar23 = puVar29" identifier = identifier) ;) (if_statement "if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }" if (parenthesized_expression "(0 < (int)puVar13[6])" ( (binary_expression "0 < (int)puVar13[6]" number_literal < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }" { (do_statement "do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);" do (compound_statement "{\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      }" { (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }" if (parenthesized_expression "(*(int *)(puVar13[0xaa] + 0x40) != 0)" ( (binary_expression "*(int *)(puVar13[0xaa] + 0x40) != 0" (pointer_expression "*(int *)(puVar13[0xaa] + 0x40)" * (cast_expression "(int *)(puVar13[0xaa] + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x40)" ( (binary_expression "puVar13[0xaa] + 0x40" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }" { (expression_statement "cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));" (assignment_expression "cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" identifier = (cast_expression "(char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" ( (type_descriptor "char" primitive_type) ) (cast_expression "(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" identifier (argument_list "(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" ( (pointer_expression "*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8)" * (cast_expression "(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8)" ( (binary_expression "iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x44) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x44)" * (cast_expression "(int *)(puVar13[0xaa] + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x44)" ( (binary_expression "puVar13[0xaa] + 0x44" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) )))) )))))) ;) })) (expression_statement "puVar23 = (uint *)((int)puVar20 + 1);" (assignment_expression "puVar23 = (uint *)((int)puVar20 + 1)" identifier = (cast_expression "(uint *)((int)puVar20 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 1)" ( (binary_expression "(int)puVar20 + 1" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char *)puVar20 = cVar21;" (assignment_expression "*(char *)puVar20 = cVar21" (pointer_expression "*(char *)puVar20" * (cast_expression "(char *)puVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "iVar11 = iVar11 + puVar13[0xa6] * 8;" (assignment_expression "iVar11 = iVar11 + puVar13[0xa6] * 8" identifier = (binary_expression "iVar11 + puVar13[0xa6] * 8" identifier + (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar20 = puVar23;" (assignment_expression "puVar20 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar23 - (int)puVar29 < (int)puVar13[6])" ( (binary_expression "(int)puVar23 - (int)puVar29 < (int)puVar13[6]" (binary_expression "(int)puVar23 - (int)puVar29" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "puVar29 = puVar23;" (assignment_expression "puVar29 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "(iVar27 < (int)puVar13[7])" ( (binary_expression "iVar27 < (int)puVar13[7]" identifier < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) ;) })) (goto_statement "goto LAB_0023720b;" goto statement_identifier ;) })) (expression_statement "DestroyImage(puVar13);" (call_expression "DestroyImage(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = piVar31 + 0xc6;" (assignment_expression "piVar25 = piVar31 + 0xc6" identifier = (binary_expression "piVar31 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (if_statement "if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }" if (parenthesized_expression "(param_1[3] != 0)" ( (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }" { (expression_statement "piVar8 = (int *)piVar31[0xccf];" (assignment_expression "piVar8 = (int *)piVar31[0xccf]" identifier = (cast_expression "(int *)piVar31[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar31[0xccf]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }" while (parenthesized_expression "(piVar5 = piVar8, piVar5 != (int *)0x0)" ( (comma_expression "piVar5 = piVar8, piVar5 != (int *)0x0" (assignment_expression "piVar5 = piVar8" identifier = identifier) , (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }" { (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) })) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (if_statement "if (local_61b8 == 0xc) goto LAB_00236910;" if (parenthesized_expression "(local_61b8 == 0xc)" ( (binary_expression "local_61b8 == 0xc" identifier == number_literal) )) (goto_statement "goto LAB_00236910;" goto statement_identifier ;)) (if_statement "if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }" if (parenthesized_expression "(local_61b8 == 0x10)" ( (binary_expression "local_61b8 == 0x10" identifier == number_literal) )) (compound_statement "{\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }" { (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if ((int)puVar13[7] < 1) goto LAB_00236e87;" if (parenthesized_expression "((int)puVar13[7] < 1)" ( (binary_expression "(int)puVar13[7] < 1" (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ])) < number_literal) )) (goto_statement "goto LAB_00236e87;" goto statement_identifier ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);" do (compound_statement "{\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              }" { (expression_statement "pcVar16 = param_3;" (assignment_expression "pcVar16 = param_3" identifier = identifier) ;) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }" if (parenthesized_expression "(0 < (int)puVar13[6])" ( (binary_expression "0 < (int)puVar13[6]" number_literal < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);" do (compound_statement "{\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  }" { (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8)" ( (binary_expression "iVar27 + *(int *)(puVar13[0xaa] + 8) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 8) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 8)" * (cast_expression "(int *)(puVar13[0xaa] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 8)" ( (binary_expression "puVar13[0xaa] + 8" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8)" ( (binary_expression "iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x14) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x14)" * (cast_expression "(int *)(puVar13[0xaa] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x14)" ( (binary_expression "puVar13[0xaa] + 0x14" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8)" ( (binary_expression "iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x20) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x20)" * (cast_expression "(int *)(puVar13[0xaa] + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x20)" ( (binary_expression "puVar13[0xaa] + 0x20" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) (if_statement "if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }" if (parenthesized_expression "(piVar31[1] == 2)" ( (binary_expression "piVar31[1] == 2" (subscript_expression "piVar31[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }" { (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36))" ( (binary_expression "(*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)" (parenthesized_expression "(*(int *)(puVar13[0xaa] + 0x28) != 0)" ( (binary_expression "*(int *)(puVar13[0xaa] + 0x28) != 0" (pointer_expression "*(int *)(puVar13[0xaa] + 0x28)" * (cast_expression "(int *)(puVar13[0xaa] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x28)" ( (binary_expression "puVar13[0xaa] + 0x28" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)" ( (comma_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" ( (binary_expression "iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x2c) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x2c)" * (cast_expression "(int *)(puVar13[0xaa] + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x2c)" ( (binary_expression "puVar13[0xaa] + 0x2c" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) , (binary_expression "0.0 < dVar36" number_literal < identifier)) ))) )) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" { (expression_statement "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar27 = iVar27 + puVar13[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + puVar13[0xa6] * 8" identifier = (binary_expression "iVar27 + puVar13[0xa6] * 8" identifier + (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "((int)local_6224 < (int)puVar13[6])" ( (binary_expression "(int)local_6224 < (int)puVar13[6]" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 < (int)puVar13[7])" ( (binary_expression "iVar7 < (int)puVar13[7]" identifier < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) ;) (expression_statement "Ascii85Flush(piVar31,pcVar16);" (call_expression "Ascii85Flush(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00236939;" goto statement_identifier ;) })) (if_statement "if (local_61b8 == 0xb) goto LAB_00236d20;" if (parenthesized_expression "(local_61b8 == 0xb)" ( (binary_expression "local_61b8 == 0xb" identifier == number_literal) )) (goto_statement "goto LAB_00236d20;" goto statement_identifier ;)) (expression_statement "iVar7 = iVar7 * ((puVar13[1] == 2) + 3);" (assignment_expression "iVar7 = iVar7 * ((puVar13[1] == 2) + 3)" identifier = (binary_expression "iVar7 * ((puVar13[1] == 2) + 3)" identifier * (parenthesized_expression "((puVar13[1] == 2) + 3)" ( (binary_expression "(puVar13[1] == 2) + 3" (parenthesized_expression "(puVar13[1] == 2)" ( (binary_expression "puVar13[1] == 2" (subscript_expression "puVar13[1]" identifier [ number_literal ]) == number_literal) )) + number_literal) )))) ;) (expression_statement "iVar27 = AcquireVirtualMemory(iVar7,4);" (assignment_expression "iVar27 = AcquireVirtualMemory(iVar7,4)" identifier = (call_expression "AcquireVirtualMemory(iVar7,4)" identifier (argument_list "(iVar7,4)" ( identifier , number_literal )))) ;) (if_statement "if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (compound_statement "{\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }" { (expression_statement "DestroyImage(puVar13);" (call_expression "DestroyImage(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = piVar31 + 0xc6;" (assignment_expression "piVar25 = piVar31 + 0xc6" identifier = (binary_expression "piVar31 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (expression_statement "piVar5 = piVar31;" (assignment_expression "piVar5 = piVar31" identifier = identifier) ;) (while_statement "while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }" while (parenthesized_expression "(piVar3 = piVar5, piVar8 != (int *)0x0)" ( (comma_expression "piVar3 = piVar5, piVar8 != (int *)0x0" (assignment_expression "piVar3 = piVar5" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }" { (expression_statement "piVar8 = (int *)piVar3[0xccf];" (assignment_expression "piVar8 = (int *)piVar3[0xccf]" identifier = (cast_expression "(int *)piVar3[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "piVar5 = piVar8;" (assignment_expression "piVar5 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar3;" (assignment_expression "piVar31 = piVar3" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;) })) (expression_statement "pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);" (assignment_expression "pcVar34 = (char *)GetVirtualMemoryBlob(iVar27)" identifier = (cast_expression "(char *)GetVirtualMemoryBlob(iVar27)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(iVar27)" identifier (argument_list "(iVar27)" ( identifier ))))) ;) (if_statement "if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }" if (parenthesized_expression "(0 < (int)puVar13[7])" ( (binary_expression "0 < (int)puVar13[7]" number_literal < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) (compound_statement "{\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "puVar29 = (uint *)pcVar34;" (assignment_expression "puVar29 = (uint *)pcVar34" identifier = (cast_expression "(uint *)pcVar34" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);" do (compound_statement "{\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              }" { (expression_statement "iVar15 = GetVirtualPixels();" (assignment_expression "iVar15 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }" if (parenthesized_expression "(0 < (int)puVar13[6])" ( (binary_expression "0 < (int)puVar13[6]" number_literal < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }" { (expression_statement "iVar30 = 0;" (assignment_expression "iVar30 = 0" identifier = number_literal) ;) (expression_statement "puVar20 = puVar29;" (assignment_expression "puVar20 = puVar29" identifier = identifier) ;) (do_statement "do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);" do (compound_statement "{\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  }" { (expression_statement "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);" (assignment_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8)" identifier = (pointer_expression "*(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8)" * (cast_expression "(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8)" ( (binary_expression "iVar15 + *(int *)(puVar13[0xaa] + 8) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 8) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 8)" * (cast_expression "(int *)(puVar13[0xaa] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 8)" ( (binary_expression "puVar13[0xaa] + 8" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "*(char *)puVar20 = cVar21;" (assignment_expression "*(char *)puVar20 = cVar21" (pointer_expression "*(char *)puVar20" * (cast_expression "(char *)puVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);" (assignment_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8)" identifier = (pointer_expression "*(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8)" * (cast_expression "(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8)" ( (binary_expression "iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x14) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x14)" * (cast_expression "(int *)(puVar13[0xaa] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x14)" ( (binary_expression "puVar13[0xaa] + 0x14" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "*(char *)((int)puVar20 + 1) = cVar21;" (assignment_expression "*(char *)((int)puVar20 + 1) = cVar21" (pointer_expression "*(char *)((int)puVar20 + 1)" * (cast_expression "(char *)((int)puVar20 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 1)" ( (binary_expression "(int)puVar20 + 1" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);" (assignment_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8)" identifier = (pointer_expression "*(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8)" * (cast_expression "(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8)" ( (binary_expression "iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x20) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x20)" * (cast_expression "(int *)(puVar13[0xaa] + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x20)" ( (binary_expression "puVar13[0xaa] + 0x20" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "*(char *)((int)puVar20 + 2) = cVar21;" (assignment_expression "*(char *)((int)puVar20 + 2) = cVar21" (pointer_expression "*(char *)((int)puVar20 + 2)" * (cast_expression "(char *)((int)puVar20 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 2)" ( (binary_expression "(int)puVar20 + 2" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }" if (parenthesized_expression "(puVar13[1] == 2)" ( (binary_expression "puVar13[1] == 2" (subscript_expression "puVar13[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }" { (expression_statement "puVar29 = puVar20 + 1;" (assignment_expression "puVar29 = puVar20 + 1" identifier = (binary_expression "puVar20 + 1" identifier + number_literal)) ;) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36))" ( (binary_expression "(*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)" (parenthesized_expression "(*(int *)(puVar13[0xaa] + 0x28) != 0)" ( (binary_expression "*(int *)(puVar13[0xaa] + 0x28) != 0" (pointer_expression "*(int *)(puVar13[0xaa] + 0x28)" * (cast_expression "(int *)(puVar13[0xaa] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x28)" ( (binary_expression "puVar13[0xaa] + 0x28" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)" ( (comma_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36" (assignment_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" identifier = (pointer_expression "*(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" * (cast_expression "(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" ( (binary_expression "iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8" identifier + (binary_expression "*(int *)(puVar13[0xaa] + 0x2c) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x2c)" * (cast_expression "(int *)(puVar13[0xaa] + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[0xaa] + 0x2c)" ( (binary_expression "puVar13[0xaa] + 0x2c" (subscript_expression "puVar13[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) , (binary_expression "0.0 < dVar36" number_literal < identifier)) ))) )) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" { (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "*(char *)((int)puVar20 + 3) = cVar21;" (assignment_expression "*(char *)((int)puVar20 + 3) = cVar21" (pointer_expression "*(char *)((int)puVar20 + 3)" * (cast_expression "(char *)((int)puVar20 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 3)" ( (binary_expression "(int)puVar20 + 3" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }" else (compound_statement "{\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }" { (expression_statement "puVar29 = (uint *)((int)puVar20 + 3);" (assignment_expression "puVar29 = (uint *)((int)puVar20 + 3)" identifier = (cast_expression "(uint *)((int)puVar20 + 3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 3)" ( (binary_expression "(int)puVar20 + 3" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (expression_statement "iVar30 = iVar30 + 1;" (assignment_expression "iVar30 = iVar30 + 1" identifier = (binary_expression "iVar30 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = iVar15 + puVar13[0xa6] * 8;" (assignment_expression "iVar15 = iVar15 + puVar13[0xa6] * 8" identifier = (binary_expression "iVar15 + puVar13[0xa6] * 8" identifier + (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar20 = puVar29;" (assignment_expression "puVar20 = puVar29" identifier = identifier) ;) }) while (parenthesized_expression "(iVar30 < (int)puVar13[6])" ( (binary_expression "iVar30 < (int)puVar13[6]" identifier < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 < (int)puVar13[7])" ( (binary_expression "iVar11 < (int)puVar13[7]" identifier < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) ;) })) (if_statement "if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }" if (parenthesized_expression "(local_61b8 == 0xf)" ( (binary_expression "local_61b8 == 0xf" identifier == number_literal) )) (compound_statement "{\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }" { (expression_statement "iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);" (assignment_expression "iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier = (call_expression "LZWEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier (argument_list "(piVar31,iVar7,pcVar34,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }" else (compound_statement "{\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }" { (expression_statement "iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);" (assignment_expression "iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier = (call_expression "PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier (argument_list "(piVar31,iVar7,pcVar34,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }))) (expression_statement "RelinquishVirtualMemory(iVar27);" (call_expression "RelinquishVirtualMemory(iVar27)" identifier (argument_list "(iVar27)" ( identifier ))) ;) (if_statement "if (iVar7 != 0) goto LAB_00236939;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00236939;" goto statement_identifier ;)) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0023707e:\n            RelinquishMagickMemory(local_6200);" statement_identifier : (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;)) (expression_statement "CloseBlob(piVar31);" (call_expression "CloseBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (goto_statement "goto LAB_002345fa;" goto statement_identifier ;) })) (switch_statement "switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }" switch (parenthesized_expression "(local_61a8)" ( identifier )) (compound_statement "{\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }" { (case_statement "case (uint *)0x0:" case (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) :) (case_statement "case (uint *)0x1:\n            goto LAB_00238a40;" case (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (goto_statement "goto LAB_00238a40;" goto statement_identifier ;)) (case_statement "default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;" default : (expression_statement "local_61dc = AcquireVirtualMemory(iVar7,1);" (assignment_expression "local_61dc = AcquireVirtualMemory(iVar7,1)" identifier = (call_expression "AcquireVirtualMemory(iVar7,1)" identifier (argument_list "(iVar7,1)" ( identifier , number_literal )))) ;) (if_statement "if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }" if (parenthesized_expression "(local_61dc != 0)" ( (binary_expression "local_61dc != 0" identifier != number_literal) )) (compound_statement "{\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }" { (expression_statement "local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);" (assignment_expression "local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc)" identifier = (cast_expression "(uint *)GetVirtualMemoryBlob(local_61dc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(local_61dc)" identifier (argument_list "(local_61dc)" ( identifier ))))) ;) (if_statement "if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }" if (parenthesized_expression "(0 < (int)puVar13[7])" ( (binary_expression "0 < (int)puVar13[7]" number_literal < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) (compound_statement "{\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (expression_statement "puVar29 = local_61a8;" (assignment_expression "puVar29 = local_61a8" identifier = identifier) ;) (do_statement "do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);" do (compound_statement "{\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                }" { (expression_statement "iVar11 = GetVirtualPixels();" (assignment_expression "iVar11 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar20 = puVar29;" (assignment_expression "puVar20 = puVar29" identifier = identifier) ;) (expression_statement "puVar23 = puVar29;" (assignment_expression "puVar23 = puVar29" identifier = identifier) ;) (if_statement "if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }" if (parenthesized_expression "(0 < (int)puVar13[6])" ( (binary_expression "0 < (int)puVar13[6]" number_literal < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }" { (do_statement "do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);" do (compound_statement "{\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    }" { (expression_statement "uVar18 = puVar13[0xaa];" (assignment_expression "uVar18 = puVar13[0xaa]" identifier = (subscript_expression "puVar13[0xaa]" identifier [ number_literal ])) ;) (expression_statement "puVar23 = (uint *)((int)puVar20 + 1);" (assignment_expression "puVar23 = (uint *)((int)puVar20 + 1)" identifier = (cast_expression "(uint *)((int)puVar20 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 1)" ( (binary_expression "(int)puVar20 + 1" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);" (assignment_expression "fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" identifier = (binary_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" (binary_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" (binary_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404" (cast_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(uVar18 + 0x20) * 8)" ( (binary_expression "iVar11 + *(int *)(uVar18 + 0x20) * 8" identifier + (binary_expression "*(int *)(uVar18 + 0x20) * 8" (pointer_expression "*(int *)(uVar18 + 0x20)" * (cast_expression "(int *)(uVar18 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x20)" ( (binary_expression "uVar18 + 0x20" identifier + number_literal) )))) * number_literal)) ))))) * identifier) + (binary_expression "DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" identifier * (cast_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(uVar18 + 0x14) * 8)" ( (binary_expression "iVar11 + *(int *)(uVar18 + 0x14) * 8" identifier + (binary_expression "*(int *)(uVar18 + 0x14) * 8" (pointer_expression "*(int *)(uVar18 + 0x14)" * (cast_expression "(int *)(uVar18 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x14)" ( (binary_expression "uVar18 + 0x14" identifier + number_literal) )))) * number_literal)) ))))))) + (binary_expression "DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" identifier * (cast_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" * (cast_expression "(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + *(int *)(uVar18 + 8) * 8)" ( (binary_expression "iVar11 + *(int *)(uVar18 + 8) * 8" identifier + (binary_expression "*(int *)(uVar18 + 8) * 8" (pointer_expression "*(int *)(uVar18 + 8)" * (cast_expression "(int *)(uVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 8)" ( (binary_expression "uVar18 + 8" identifier + number_literal) )))) * number_literal)) )))))))) ;) (if_statement "if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }" if (parenthesized_expression "(0.0 < fVar1)" ( (binary_expression "0.0 < fVar1" number_literal < identifier) )) (compound_statement "{\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }" { (expression_statement "fVar1 = fVar1 / DAT_002a7ff0;" (assignment_expression "fVar1 = fVar1 / DAT_002a7ff0" identifier = (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier)) ;) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) (if_statement "if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }" if (parenthesized_expression "(fVar1 < DAT_002a7ff4)" ( (binary_expression "fVar1 < DAT_002a7ff4" identifier < identifier) )) (compound_statement "{\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }" { (expression_statement "cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124)" identifier = (cast_expression "(char)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar1 + DAT_0029f124)" identifier (argument_list "(fVar1 + DAT_0029f124)" ( (binary_expression "fVar1 + DAT_0029f124" identifier + identifier) )))))) ;) })) })) (expression_statement "*(char *)puVar20 = cVar21;" (assignment_expression "*(char *)puVar20 = cVar21" (pointer_expression "*(char *)puVar20" * (cast_expression "(char *)puVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "iVar11 = iVar11 + puVar13[0xa6] * 8;" (assignment_expression "iVar11 = iVar11 + puVar13[0xa6] * 8" identifier = (binary_expression "iVar11 + puVar13[0xa6] * 8" identifier + (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar20 = puVar23;" (assignment_expression "puVar20 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar23 - (int)puVar29 < (int)puVar13[6])" ( (binary_expression "(int)puVar23 - (int)puVar29 < (int)puVar13[6]" (binary_expression "(int)puVar23 - (int)puVar29" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "puVar29 = puVar23;" (assignment_expression "puVar29 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "(iVar27 < (int)puVar13[7])" ( (binary_expression "iVar27 < (int)puVar13[7]" identifier < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) ;) })) (labeled_statement "LAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" statement_identifier : (if_statement "if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" if (parenthesized_expression "(local_61b8 == 0xf)" ( (binary_expression "local_61b8 == 0xf" identifier == number_literal) )) (compound_statement "{\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" { (expression_statement "iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);" (assignment_expression "iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3)" identifier = (call_expression "LZWEncodeImage(piVar31,iVar7,local_61a8,param_3)" identifier (argument_list "(piVar31,iVar7,local_61a8,param_3)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "pcVar34 = (char *)local_61a8;" (assignment_expression "pcVar34 = (char *)local_61a8" identifier = (cast_expression "(char *)local_61a8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" else (compound_statement "{\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" { (expression_statement "iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);" (assignment_expression "iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3)" identifier = (call_expression "PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3)" identifier (argument_list "(piVar31,iVar7,local_61a8,param_3)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "pcVar34 = (char *)local_61a8;" (assignment_expression "pcVar34 = (char *)local_61a8" identifier = (cast_expression "(char *)local_61a8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })))) (expression_statement "RelinquishVirtualMemory(local_61dc);" (call_expression "RelinquishVirtualMemory(local_61dc)" identifier (argument_list "(local_61dc)" ( identifier ))) ;) (if_statement "if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0023707e;" goto statement_identifier ;) })) (goto_statement "goto LAB_00236939;" goto statement_identifier ;) })) (expression_statement "DestroyImage(puVar13);" (call_expression "DestroyImage(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "piVar25 = piVar31 + 0xc6;" (assignment_expression "piVar25 = piVar31 + 0xc6" identifier = (binary_expression "piVar31 + 0xc6" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (expression_statement "piVar5 = piVar31;" (assignment_expression "piVar5 = piVar31" identifier = identifier) ;) (while_statement "while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }" while (parenthesized_expression "(piVar3 = piVar5, piVar8 != (int *)0x0)" ( (comma_expression "piVar3 = piVar5, piVar8 != (int *)0x0" (assignment_expression "piVar3 = piVar5" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }" { (expression_statement "piVar8 = (int *)piVar3[0xccf];" (assignment_expression "piVar8 = (int *)piVar3[0xccf]" identifier = (cast_expression "(int *)piVar3[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "piVar5 = piVar8;" (assignment_expression "piVar5 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar3;" (assignment_expression "piVar31 = piVar3" identifier = identifier) ;) })) (goto_statement "goto LAB_00239234;" goto statement_identifier ;)) (case_statement "case (uint *)0x4:\nLAB_00236d20:\n            break;" case (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_00236d20:\n            break;" statement_identifier : (break_statement "break;" break ;))) (case_statement "case (uint *)0x5:\nLAB_00236910:\n            break;" case (cast_expression "(uint *)0x5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_00236910:\n            break;" statement_identifier : (break_statement "break;" break ;))) (case_statement "case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;" case (cast_expression "(uint *)0x9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }" if (parenthesized_expression "(0 < (int)puVar13[7])" ( (binary_expression "0 < (int)puVar13[7]" number_literal < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) (compound_statement "{\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);" do (compound_statement "{\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              }" { (expression_statement "pcVar16 = param_3;" (assignment_expression "pcVar16 = param_3" identifier = identifier) ;) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }" if (parenthesized_expression "(0 < (int)puVar13[6])" ( (binary_expression "0 < (int)puVar13[6]" number_literal < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) (compound_statement "{\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);" do (compound_statement "{\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  }" { (expression_statement "uVar18 = puVar13[0xaa];" (assignment_expression "uVar18 = puVar13[0xaa]" identifier = (subscript_expression "puVar13[0xaa]" identifier [ number_literal ])) ;) (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);" (assignment_expression "fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" identifier = (binary_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" (binary_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" (binary_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404" (cast_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(uVar18 + 0x20) * 8)" ( (binary_expression "iVar27 + *(int *)(uVar18 + 0x20) * 8" identifier + (binary_expression "*(int *)(uVar18 + 0x20) * 8" (pointer_expression "*(int *)(uVar18 + 0x20)" * (cast_expression "(int *)(uVar18 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x20)" ( (binary_expression "uVar18 + 0x20" identifier + number_literal) )))) * number_literal)) ))))) * identifier) + (binary_expression "DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" identifier * (cast_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(uVar18 + 0x14) * 8)" ( (binary_expression "iVar27 + *(int *)(uVar18 + 0x14) * 8" identifier + (binary_expression "*(int *)(uVar18 + 0x14) * 8" (pointer_expression "*(int *)(uVar18 + 0x14)" * (cast_expression "(int *)(uVar18 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x14)" ( (binary_expression "uVar18 + 0x14" identifier + number_literal) )))) * number_literal)) ))))))) + (binary_expression "DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" identifier * (cast_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(uVar18 + 8) * 8)" ( (binary_expression "iVar27 + *(int *)(uVar18 + 8) * 8" identifier + (binary_expression "*(int *)(uVar18 + 8) * 8" (pointer_expression "*(int *)(uVar18 + 8)" * (cast_expression "(int *)(uVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 8)" ( (binary_expression "uVar18 + 8" identifier + number_literal) )))) * number_literal)) )))))))) ;) (if_statement "if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < fVar1)" ( (binary_expression "0.0 < fVar1" number_literal < identifier) )) (compound_statement "{\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }" { (expression_statement "fVar1 = fVar1 / DAT_002a7ff0;" (assignment_expression "fVar1 = fVar1 / DAT_002a7ff0" identifier = (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier)) ;) (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }" if (parenthesized_expression "(fVar1 < DAT_002a7ff4)" ( (binary_expression "fVar1 < DAT_002a7ff4" identifier < identifier) )) (compound_statement "{\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }" { (expression_statement "pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);" (assignment_expression "pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(fVar1 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar1 + DAT_0029f124)" identifier (argument_list "(fVar1 + DAT_0029f124)" ( (binary_expression "fVar1 + DAT_0029f124" identifier + identifier) )))))))) ;) })) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = iVar27 + puVar13[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + puVar13[0xa6] * 8" identifier = (binary_expression "iVar27 + puVar13[0xa6] * 8" identifier + (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "(iVar11 < (int)puVar13[6])" ( (binary_expression "iVar11 < (int)puVar13[6]" identifier < (cast_expression "(int)puVar13[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 < (int)puVar13[7])" ( (binary_expression "iVar7 < (int)puVar13[7]" identifier < (cast_expression "(int)puVar13[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar13[7]" identifier [ number_literal ]))) )) ;) })) (labeled_statement "LAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);" statement_identifier : (expression_statement "Ascii85Flush(piVar31,pcVar16);" (call_expression "Ascii85Flush(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;)) (goto_statement "goto LAB_00236939;" goto statement_identifier ;)) })) (expression_statement "iVar27 = InjectImageBlob();" (assignment_expression "iVar27 = InjectImageBlob()" identifier = (call_expression "InjectImageBlob()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) goto LAB_0023707e;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0023707e;" goto statement_identifier ;)) (labeled_statement "LAB_00236939:\n          DestroyImage(puVar13);" statement_identifier : (expression_statement "DestroyImage(puVar13);" (call_expression "DestroyImage(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;)) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"\nendstream\n");" (call_expression "WriteBlobString(piVar31,"\nendstream\n")" identifier (argument_list "(piVar31,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[uVar10 + 1] = uVar33;" (assignment_expression "local_6200[uVar10 + 1] = uVar33" (subscript_expression "local_6200[uVar10 + 1]" identifier [ (binary_expression "uVar10 + 1" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[uVar10 + 2] = uVar33;" (assignment_expression "local_6200[uVar10 + 2] = uVar33" (subscript_expression "local_6200[uVar10 + 2]" identifier [ (binary_expression "uVar10 + 2" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"<<\n");" (call_expression "WriteBlobString(piVar31,"<<\n")" identifier (argument_list "(piVar31,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }" if (parenthesized_expression "(((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2))" ( (binary_expression "((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)" (parenthesized_expression "((*piVar31 == 1) || (0x100 < (uint)piVar31[9]))" ( (binary_expression "(*piVar31 == 1) || (0x100 < (uint)piVar31[9])" (parenthesized_expression "(*piVar31 == 1)" ( (binary_expression "*piVar31 == 1" (pointer_expression "*piVar31" * identifier) == number_literal) )) || (parenthesized_expression "(0x100 < (uint)piVar31[9])" ( (binary_expression "0x100 < (uint)piVar31[9]" number_literal < (cast_expression "(uint)piVar31[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar31[9]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "(local_61a4 < 2)" ( (binary_expression "local_61a4 < 2" identifier < number_literal) ))) )) (compound_statement "{\n            WriteBlobString(piVar31,">>\n");\n          }" { (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" identifier (argument_list "(piVar31,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }" else (compound_statement "{\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }" { (if_statement "if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }" if (parenthesized_expression "(local_61b8 == 0x10)" ( (binary_expression "local_61b8 == 0x10" identifier == number_literal) )) (compound_statement "{\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }" { (expression_statement "WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");" (call_expression "WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n")" identifier (argument_list "(piVar31,"/Filter [ /ASCII85Decode ]\n")" ( identifier , (string_literal ""/Filter [ /ASCII85Decode ]\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" identifier (argument_list "(piVar31,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(piVar31,"stream\n");" (call_expression "WriteBlobString(piVar31,"stream\n")" identifier (argument_list "(piVar31,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (0 < piVar31[9]) goto LAB_002384f8;" if (parenthesized_expression "(0 < piVar31[9])" ( (binary_expression "0 < piVar31[9]" number_literal < (subscript_expression "piVar31[9]" identifier [ number_literal ])) )) (goto_statement "goto LAB_002384f8;" goto statement_identifier ;)) (labeled_statement "LAB_00239b55:\n              Ascii85Flush(piVar31);" statement_identifier : (expression_statement "Ascii85Flush(piVar31);" (call_expression "Ascii85Flush(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;)) }) (else_clause "else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }" else (compound_statement "{\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }" { (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" identifier (argument_list "(piVar31,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(piVar31,"stream\n");" (call_expression "WriteBlobString(piVar31,"stream\n")" identifier (argument_list "(piVar31,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }" if (parenthesized_expression "(0 < piVar31[9])" ( (binary_expression "0 < piVar31[9]" number_literal < (subscript_expression "piVar31[9]" identifier [ number_literal ])) )) (compound_statement "{\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }" { (labeled_statement "LAB_002384f8:\n                iVar27 = 0;" statement_identifier : (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);" do (compound_statement "{\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                }" { (while_statement "while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }" { (expression_statement "fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);" (assignment_expression "fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27)" identifier = (cast_expression "(float)*(double *)(piVar31[10] + 0x20 + iVar27)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(piVar31[10] + 0x20 + iVar27)" * (cast_expression "(double *)(piVar31[10] + 0x20 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[10] + 0x20 + iVar27)" ( (binary_expression "piVar31[10] + 0x20 + iVar27" (binary_expression "piVar31[10] + 0x20" (subscript_expression "piVar31[10]" identifier [ number_literal ]) + number_literal) + identifier) )))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (local_61b8 != 0x10) break;" if (parenthesized_expression "(local_61b8 != 0x10)" ( (binary_expression "local_61b8 != 0x10" identifier != number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < fVar1)" ( (binary_expression "0.0 < fVar1" number_literal < identifier) )) (compound_statement "{\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }" { (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }" if (parenthesized_expression "(fVar1 / DAT_002a7ff0 < DAT_002a7ff4)" ( (binary_expression "fVar1 / DAT_002a7ff0 < DAT_002a7ff4" (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier) < identifier) )) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" identifier (argument_list "(fVar1 / DAT_002a7ff0 + DAT_0029f124)" ( (binary_expression "fVar1 / DAT_002a7ff0 + DAT_0029f124" (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier) + identifier) )))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);" (assignment_expression "dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27)" identifier = (pointer_expression "*(double *)(piVar31[10] + 0x28 + iVar27)" * (cast_expression "(double *)(piVar31[10] + 0x28 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[10] + 0x28 + iVar27)" ( (binary_expression "piVar31[10] + 0x28 + iVar27" (binary_expression "piVar31[10] + 0x28" (subscript_expression "piVar31[10]" identifier [ number_literal ]) + number_literal) + identifier) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);" (assignment_expression "dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27)" identifier = (pointer_expression "*(double *)(piVar31[10] + 0x30 + iVar27)" * (cast_expression "(double *)(piVar31[10] + 0x30 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[10] + 0x30 + iVar27)" ( (binary_expression "piVar31[10] + 0x30 + iVar27" (binary_expression "piVar31[10] + 0x30" (subscript_expression "piVar31[10]" identifier [ number_literal ]) + number_literal) + identifier) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar27 = iVar27 + 0x50;" (assignment_expression "iVar27 = iVar27 + 0x50" identifier = (binary_expression "iVar27 + 0x50" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (if_statement "if (piVar31[9] <= iVar7) goto LAB_00238890;" if (parenthesized_expression "(piVar31[9] <= iVar7)" ( (binary_expression "piVar31[9] <= iVar7" (subscript_expression "piVar31[9]" identifier [ number_literal ]) <= identifier) )) (goto_statement "goto LAB_00238890;" goto statement_identifier ;)) })) (if_statement "if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }" if (parenthesized_expression "(0.0 < fVar1)" ( (binary_expression "0.0 < fVar1" number_literal < identifier) )) (compound_statement "{\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }" { (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }" if (parenthesized_expression "(fVar1 / DAT_002a7ff0 < DAT_002a7ff4)" ( (binary_expression "fVar1 / DAT_002a7ff0 < DAT_002a7ff4" (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier) < identifier) )) (compound_statement "{\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" identifier (argument_list "(fVar1 / DAT_002a7ff0 + DAT_0029f124)" ( (binary_expression "fVar1 / DAT_002a7ff0 + DAT_0029f124" (binary_expression "fVar1 / DAT_002a7ff0" identifier / identifier) + identifier) )))))) ;) })) })) (expression_statement "WriteBlobByte(piVar31,uVar6);" (call_expression "WriteBlobByte(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);" (assignment_expression "dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27)" identifier = (pointer_expression "*(double *)(piVar31[10] + 0x28 + iVar27)" * (cast_expression "(double *)(piVar31[10] + 0x28 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[10] + 0x28 + iVar27)" ( (binary_expression "piVar31[10] + 0x28 + iVar27" (binary_expression "piVar31[10] + 0x28" (subscript_expression "piVar31[10]" identifier [ number_literal ]) + number_literal) + identifier) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "WriteBlobByte(piVar31,uVar6);" (call_expression "WriteBlobByte(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) (expression_statement "dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);" (assignment_expression "dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27)" identifier = (pointer_expression "*(double *)(piVar31[10] + 0x30 + iVar27)" * (cast_expression "(double *)(piVar31[10] + 0x30 + iVar27)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[10] + 0x30 + iVar27)" ( (binary_expression "piVar31[10] + 0x30 + iVar27" (binary_expression "piVar31[10] + 0x30" (subscript_expression "piVar31[10]" identifier [ number_literal ]) + number_literal) + identifier) ))))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }" if (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" ( (binary_expression "dVar36 < (double)DAT_002a7ff4" identifier < (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier)) )) (compound_statement "{\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }" { (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "undefined1" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) })) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar27 = iVar27 + 0x50;" (assignment_expression "iVar27 = iVar27 + 0x50" identifier = (binary_expression "iVar27 + 0x50" identifier + number_literal)) ;) (expression_statement "WriteBlobByte(piVar31,uVar6);" (call_expression "WriteBlobByte(piVar31,uVar6)" identifier (argument_list "(piVar31,uVar6)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "(iVar7 < piVar31[9])" ( (binary_expression "iVar7 < piVar31[9]" identifier < (subscript_expression "piVar31[9]" identifier [ number_literal ])) )) ;) })) (labeled_statement "LAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;" statement_identifier : (if_statement "if (local_61b8 == 0x10) goto LAB_00239b55;" if (parenthesized_expression "(local_61b8 == 0x10)" ( (binary_expression "local_61b8 == 0x10" identifier == number_literal) )) (goto_statement "goto LAB_00239b55;" goto statement_identifier ;))) }))) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"\nendstream\n");" (call_expression "WriteBlobString(piVar31,"\nendstream\n")" identifier (argument_list "(piVar31,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) }))) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[uVar10 + 3] = uVar33;" (assignment_expression "local_6200[uVar10 + 3] = uVar33" (subscript_expression "local_6200[uVar10 + 3]" identifier [ (binary_expression "uVar10 + 3" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[uVar10 + 4] = uVar33;" (assignment_expression "local_6200[uVar10 + 4] = uVar33" (subscript_expression "local_6200[uVar10 + 4]" identifier [ (binary_expression "uVar10 + 4" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"<<\n");" (call_expression "WriteBlobString(piVar31,"<<\n")" identifier (argument_list "(piVar31,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }" if (parenthesized_expression "(piVar31[0xa5] != 0)" ( (binary_expression "piVar31[0xa5] != 0" (subscript_expression "piVar31[0xa5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }" { (expression_statement "WriteBlobString(piVar31,"/Type /XObject\n");" (call_expression "WriteBlobString(piVar31,"/Type /XObject\n")" identifier (argument_list "(piVar31,"/Type /XObject\n")" ( identifier , (string_literal ""/Type /XObject\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(piVar31,"/Subtype /Image\n");" (call_expression "WriteBlobString(piVar31,"/Subtype /Image\n")" identifier (argument_list "(piVar31,"/Subtype /Image\n")" ( identifier , (string_literal ""/Subtype /Image\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (if_statement "if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" if (parenthesized_expression "(local_61b8 == 0x10)" ( (binary_expression "local_61b8 == 0x10" identifier == number_literal) )) (compound_statement "{\n              pcVar34 = "ASCII85Decode";\n            }" { (expression_statement "pcVar34 = "ASCII85Decode";" (assignment_expression "pcVar34 = "ASCII85Decode"" identifier = (string_literal ""ASCII85Decode"" " string_content ")) ;) }) (else_clause "else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" else (if_statement "if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" if (parenthesized_expression "(local_61b8 == 0x14)" ( (binary_expression "local_61b8 == 0x14" identifier == number_literal) )) (compound_statement "{\n              pcVar34 = "FlateDecode";\n            }" { (expression_statement "pcVar34 = "FlateDecode";" (assignment_expression "pcVar34 = "FlateDecode"" identifier = (string_literal ""FlateDecode"" " string_content ")) ;) }) (else_clause "else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" else (if_statement "if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" if (parenthesized_expression "(local_61b8 == 0xf)" ( (binary_expression "local_61b8 == 0xf" identifier == number_literal) )) (compound_statement "{\n              pcVar34 = "LZWDecode";\n            }" { (expression_statement "pcVar34 = "LZWDecode";" (assignment_expression "pcVar34 = "LZWDecode"" identifier = (string_literal ""LZWDecode"" " string_content ")) ;) }) (else_clause "else {\n              pcVar34 = "RunLengthDecode";\n            }" else (compound_statement "{\n              pcVar34 = "RunLengthDecode";\n            }" { (expression_statement "pcVar34 = "RunLengthDecode";" (assignment_expression "pcVar34 = "RunLengthDecode"" identifier = (string_literal ""RunLengthDecode"" " string_content ")) ;) }))))))) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" identifier (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" ( identifier , number_literal , (string_literal ""/Filter [ /%s ]\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");" (call_expression "WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n")" identifier (argument_list "(piVar31,"/ColorSpace /DeviceGray\n")" ( identifier , (string_literal ""/ColorSpace /DeviceGray\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar34 = "/BitsPerComponent %d\n";" (assignment_expression "pcVar34 = "/BitsPerComponent %d\n"" identifier = (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ")) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (call_expression "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" identifier (argument_list "(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" ( identifier , number_literal , (string_literal ""/BitsPerComponent %d\n"" " string_content escape_sequence ") , (field_expression "local_61cc._0_4_" identifier . field_identifier) ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" identifier (argument_list "(piVar31,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pcVar16 = pcVar19;" (assignment_expression "pcVar16 = pcVar19" identifier = identifier) ;) (expression_statement "WriteBlobString(piVar31,"stream\n");" (call_expression "WriteBlobString(piVar31,"stream\n")" identifier (argument_list "(piVar31,"stream\n")" ( identifier , (string_literal ""stream\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }" if (parenthesized_expression "(local_61b8 == 0x10)" ( (binary_expression "local_61b8 == 0x10" identifier == number_literal) )) (compound_statement "{\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }" { (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;) (if_statement "if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }" if (parenthesized_expression "(0 < piVar31[7])" ( (binary_expression "0 < piVar31[7]" number_literal < (subscript_expression "piVar31[7]" identifier [ number_literal ])) )) (compound_statement "{\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);" do (compound_statement "{\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                }" { (expression_statement "pcVar16 = param_3;" (assignment_expression "pcVar16 = param_3" identifier = identifier) ;) (expression_statement "iVar7 = GetVirtualPixels();" (assignment_expression "iVar7 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);" do (compound_statement "{\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    }" { (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }" if (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x34) != 0)" ( (binary_expression "*(int *)(piVar31[0xaa] + 0x34) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x34)" * (cast_expression "(int *)(piVar31[0xaa] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x34)" ( (binary_expression "piVar31[0xaa] + 0x34" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }" { (expression_statement "dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);" (assignment_expression "dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8)" * (cast_expression "(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8)" ( (binary_expression "iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x38) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x38)" * (cast_expression "(int *)(piVar31[0xaa] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x38)" ( (binary_expression "piVar31[0xaa] + 0x38" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" if (parenthesized_expression "((double)DAT_002a7ff4 <= dVar36)" ( (binary_expression "(double)DAT_002a7ff4 <= dVar36" (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n                            pcVar16 = (char *)0xff;\n                          }" { (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" identifier = (cast_expression "(char *)0xff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" else (compound_statement "{\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" { (expression_statement "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );" (assignment_expression "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" identifier = (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" identifier (argument_list "(dVar36 + (double)DAT_0029f124\n                                                                      )" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))))) ;) }))) })) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) (expression_statement "iVar7 = iVar7 + piVar31[0xa6] * 8;" (assignment_expression "iVar7 = iVar7 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar7 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "(iVar27 < piVar31[6])" ( (binary_expression "iVar27 < piVar31[6]" identifier < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)local_6224 < piVar31[7])" ( (binary_expression "(int)local_6224 < piVar31[7]" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < (subscript_expression "piVar31[7]" identifier [ number_literal ])) )) ;) })) (expression_statement "Ascii85Flush(piVar31,pcVar16);" (call_expression "Ascii85Flush(piVar31,pcVar16)" identifier (argument_list "(piVar31,pcVar16)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00237731:\n              TellBlob(piVar31);" statement_identifier : (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))) ;)) (expression_statement "WriteBlobString(piVar31,"\nendstream\n");" (call_expression "WriteBlobString(piVar31,"\nendstream\n")" identifier (argument_list "(piVar31,"\nendstream\n")" ( identifier , (string_literal ""\nendstream\n"" " escape_sequence string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00236be1;" goto statement_identifier ;) })) (expression_statement "iVar7 = piVar31[7] * piVar31[6];" (assignment_expression "iVar7 = piVar31[7] * piVar31[6]" identifier = (binary_expression "piVar31[7] * piVar31[6]" (subscript_expression "piVar31[7]" identifier [ number_literal ]) * (subscript_expression "piVar31[6]" identifier [ number_literal ]))) ;) (expression_statement "iVar11 = AcquireVirtualMemory(iVar7,4);" (assignment_expression "iVar11 = AcquireVirtualMemory(iVar7,4)" identifier = (call_expression "AcquireVirtualMemory(iVar7,4)" identifier (argument_list "(iVar7,4)" ( identifier , number_literal )))) ;) (if_statement "if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }" { (expression_statement "pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);" (assignment_expression "pcVar34 = (char *)GetVirtualMemoryBlob(iVar11)" identifier = (cast_expression "(char *)GetVirtualMemoryBlob(iVar11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))))) ;) (if_statement "if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }" if (parenthesized_expression "(0 < piVar31[7])" ( (binary_expression "0 < piVar31[7]" number_literal < (subscript_expression "piVar31[7]" identifier [ number_literal ])) )) (compound_statement "{\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }" { (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar13 = (uint *)pcVar34;" (assignment_expression "puVar13 = (uint *)pcVar34" identifier = (cast_expression "(uint *)pcVar34" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);" do (compound_statement "{\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                }" { (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar29 = puVar13;" (assignment_expression "puVar29 = puVar13" identifier = identifier) ;) (expression_statement "puVar20 = puVar13;" (assignment_expression "puVar20 = puVar13" identifier = identifier) ;) (if_statement "if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }" if (parenthesized_expression "(0 < piVar31[6])" ( (binary_expression "0 < piVar31[6]" number_literal < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) (compound_statement "{\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }" { (do_statement "do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);" do (compound_statement "{\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    }" { (expression_statement "puVar20 = (uint *)((int)puVar29 + 1);" (assignment_expression "puVar20 = (uint *)((int)puVar29 + 1)" identifier = (cast_expression "(uint *)((int)puVar29 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar29 + 1)" ( (binary_expression "(int)puVar29 + 1" (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) (if_statement "if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }" if (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x34) != 0)" ( (binary_expression "*(int *)(piVar31[0xaa] + 0x34) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x34)" * (cast_expression "(int *)(piVar31[0xaa] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x34)" ( (binary_expression "piVar31[0xaa] + 0x34" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }" { (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8)" identifier = (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8)" * (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8)" ( (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8" identifier + (binary_expression "*(int *)(piVar31[0xaa] + 0x38) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x38)" * (cast_expression "(int *)(piVar31[0xaa] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar31[0xaa] + 0x38)" ( (binary_expression "piVar31[0xaa] + 0x38" (subscript_expression "piVar31[0xaa]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" if (parenthesized_expression "(0.0 < dVar36)" ( (binary_expression "0.0 < dVar36" number_literal < identifier) )) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" { (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" identifier = (binary_expression "dVar36 / (double)DAT_002a7ff0" identifier / (cast_expression "(double)DAT_002a7ff0" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (if_statement "if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" if (parenthesized_expression "((double)DAT_002a7ff4 <= dVar36)" ( (binary_expression "(double)DAT_002a7ff4 <= dVar36" (cast_expression "(double)DAT_002a7ff4" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n                            cVar21 = -1;\n                          }" { (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" identifier = number_literal) ;) }) (else_clause "else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" else (compound_statement "{\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" { (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" identifier = (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "char" primitive_type) ) (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" identifier (argument_list "(dVar36 + (double)DAT_0029f124)" ( (binary_expression "dVar36 + (double)DAT_0029f124" identifier + (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))))) ;) }))) })) })) (expression_statement "*(char *)puVar29 = cVar21;" (assignment_expression "*(char *)puVar29 = cVar21" (pointer_expression "*(char *)puVar29" * (cast_expression "(char *)puVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" identifier = (binary_expression "iVar27 + piVar31[0xa6] * 8" identifier + (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "puVar29 = puVar20;" (assignment_expression "puVar29 = puVar20" identifier = identifier) ;) }) while (parenthesized_expression "((int)puVar20 - (int)puVar13 < piVar31[6])" ( (binary_expression "(int)puVar20 - (int)puVar13 < piVar31[6]" (binary_expression "(int)puVar20 - (int)puVar13" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier)) < (subscript_expression "piVar31[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" identifier = (cast_expression "(int *)((int)local_6224 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6224 + 1)" ( (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar13 = puVar20;" (assignment_expression "puVar13 = puVar20" identifier = identifier) ;) }) while (parenthesized_expression "((int)local_6224 < piVar31[7])" ( (binary_expression "(int)local_6224 < piVar31[7]" (cast_expression "(int)local_6224" ( (type_descriptor "int" primitive_type) ) identifier) < (subscript_expression "piVar31[7]" identifier [ number_literal ])) )) ;) })) (if_statement "if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }" if (parenthesized_expression "(local_61b8 == 0xf)" ( (binary_expression "local_61b8 == 0xf" identifier == number_literal) )) (compound_statement "{\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }" { (expression_statement "iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);" (assignment_expression "iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier = (call_expression "LZWEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier (argument_list "(piVar31,iVar7,pcVar34,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }" else (compound_statement "{\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }" { (expression_statement "iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);" (assignment_expression "iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier = (call_expression "PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3)" identifier (argument_list "(piVar31,iVar7,pcVar34,param_3)" ( identifier , identifier , identifier , identifier )))) ;) }))) (expression_statement "RelinquishVirtualMemory(iVar11);" (call_expression "RelinquishVirtualMemory(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;) (if_statement "if (iVar27 == 0) goto LAB_0023707e;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0023707e;" goto statement_identifier ;)) (goto_statement "goto LAB_00237731;" goto statement_identifier ;) })) (expression_statement "uVar17 = DestroyImage(piVar31);" (assignment_expression "uVar17 = DestroyImage(piVar31)" identifier = (call_expression "DestroyImage(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "iVar7 = uVar17 + 0x318;" (assignment_expression "iVar7 = uVar17 + 0x318" identifier = (binary_expression "uVar17 + 0x318" identifier + number_literal)) ;) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar10 = param_1[3];" (assignment_expression "uVar10 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = uVar17;" (assignment_expression "uVar18 = uVar17" identifier = identifier) ;) (while_statement "while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }" while (parenthesized_expression "(uVar4 = uVar17, uVar10 != 0)" ( (comma_expression "uVar4 = uVar17, uVar10 != 0" (assignment_expression "uVar4 = uVar17" identifier = identifier) , (binary_expression "uVar10 != 0" identifier != number_literal)) )) (compound_statement "{\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }" { (expression_statement "uVar10 = *(uint *)(uVar4 + 0x333c);" (assignment_expression "uVar10 = *(uint *)(uVar4 + 0x333c)" identifier = (pointer_expression "*(uint *)(uVar4 + 0x333c)" * (cast_expression "(uint *)(uVar4 + 0x333c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar4 + 0x333c)" ( (binary_expression "uVar4 + 0x333c" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = uVar10;" (assignment_expression "uVar17 = uVar10" identifier = identifier) ;) (expression_statement "uVar18 = uVar4;" (assignment_expression "uVar18 = uVar4" identifier = identifier) ;) })) (expression_statement "CloseBlob(uVar18,pcVar19,pcVar34,iVar7);" (call_expression "CloseBlob(uVar18,pcVar19,pcVar34,iVar7)" identifier (argument_list "(uVar18,pcVar19,pcVar34,iVar7)" ( identifier , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_002345f8;" goto statement_identifier ;) })) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" identifier (argument_list "(piVar31,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (labeled_statement "LAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");" statement_identifier : (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;)) (expression_statement "local_61f4 = uVar10 + 6;" (assignment_expression "local_61f4 = uVar10 + 6" identifier = (binary_expression "uVar10 + 6" identifier + number_literal)) ;) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" identifier = (call_expression "TellBlob(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6200[uVar10 + 5] = uVar33;" (assignment_expression "local_6200[uVar10 + 5] = uVar33" (subscript_expression "local_6200[uVar10 + 5]" identifier [ (binary_expression "uVar10 + 5" identifier + number_literal) ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" identifier (argument_list "(piVar31,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" identifier (argument_list "(piVar31,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar7 = GetNextImageInList(piVar31);" (assignment_expression "iVar7 = GetNextImageInList(piVar31)" identifier = (call_expression "GetNextImageInList(piVar31)" identifier (argument_list "(piVar31)" ( identifier )))) ;) (expression_statement "local_6224 = piVar31;" (assignment_expression "local_6224 = piVar31" identifier = identifier) ;) (if_statement "if (iVar7 == 0) goto LAB_00239247;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00239247;" goto statement_identifier ;)) (expression_statement "local_6224 = (int *)SyncNextImageInList(piVar31);" (assignment_expression "local_6224 = (int *)SyncNextImageInList(piVar31)" identifier = (cast_expression "(int *)SyncNextImageInList(piVar31)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "SyncNextImageInList(piVar31)" identifier (argument_list "(piVar31)" ( identifier ))))) ;) (expression_statement "local_620c = (char *)0x0;" (assignment_expression "local_620c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = SetImageProgress();" (assignment_expression "iVar7 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;" if (parenthesized_expression "((iVar7 == 0) || (param_1[3] == 0))" ( (binary_expression "(iVar7 == 0) || (param_1[3] == 0)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(param_1[3] == 0)" ( (binary_expression "param_1[3] == 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_00239247;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (while_statement "while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }" while (parenthesized_expression "(iVar27 = GetNextImageInList(piVar8), iVar27 != 0)" ( (comma_expression "iVar27 = GetNextImageInList(piVar8), iVar27 != 0" (assignment_expression "iVar27 = GetNextImageInList(piVar8)" identifier = (call_expression "GetNextImageInList(piVar8)" identifier (argument_list "(piVar8)" ( identifier )))) , (binary_expression "iVar27 != 0" identifier != number_literal)) )) (compound_statement "{\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }" { (expression_statement "iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);" (assignment_expression "iVar27 = GetImageProfile(piVar8,&DAT_002a81ca)" identifier = (call_expression "GetImageProfile(piVar8,&DAT_002a81ca)" identifier (argument_list "(piVar8,&DAT_002a81ca)" ( identifier , (pointer_expression "&DAT_002a81ca" & identifier) )))) ;) (if_statement "if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar7 = iVar7 + 2;\n        }" { (expression_statement "iVar7 = iVar7 + 2;" (assignment_expression "iVar7 = iVar7 + 2" identifier = (binary_expression "iVar7 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar7 = iVar7 + 0xe;" (assignment_expression "iVar7 = iVar7 + 0xe" identifier = (binary_expression "iVar7 + 0xe" identifier + number_literal)) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" identifier (argument_list "(param_2,local_5020)" ( identifier , identifier ))) ;) (expression_statement "piVar8 = (int *)GetNextImageInList(piVar8);" (assignment_expression "piVar8 = (int *)GetNextImageInList(piVar8)" identifier = (cast_expression "(int *)GetNextImageInList(piVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetNextImageInList(piVar8)" identifier (argument_list "(piVar8)" ( identifier ))))) ;) })) (expression_statement "pcVar34 = (char *)0x8;" (assignment_expression "pcVar34 = (char *)0x8" identifier = (cast_expression "(char *)0x8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);" (assignment_expression "local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8)" identifier = (cast_expression "(undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ResizeQuantumMemory(local_6200,iVar7 + 0x800,8)" identifier (argument_list "(local_6200,iVar7 + 0x800,8)" ( identifier , (binary_expression "iVar7 + 0x800" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;" if (parenthesized_expression "(local_6200 != (undefined8 *)0x0)" ( (binary_expression "local_6200 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00234b1f;" goto statement_identifier ;)) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" identifier = (string_literal ""`%s\'"" " string_content escape_sequence ")) ;) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" identifier = (cast_expression "(int *)param_1[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (while_statement "while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }" while (parenthesized_expression "(piVar5 = param_2, piVar8 != (int *)0x0)" ( (comma_expression "piVar5 = param_2, piVar8 != (int *)0x0" (assignment_expression "piVar5 = param_2" identifier = identifier) , (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }" { (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" identifier = (cast_expression "(int *)piVar5[0xccf]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar5[0xccf]" identifier [ number_literal ]))) ;) (expression_statement "param_2 = piVar8;" (assignment_expression "param_2 = piVar8" identifier = identifier) ;) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" identifier = identifier) ;) })) }))) (labeled_statement "LAB_00239234:\n    iVar27 = 0;" statement_identifier : (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;)) (expression_statement "CloseBlob(piVar31,pcVar19,pcVar34,piVar25);" (call_expression "CloseBlob(piVar31,pcVar19,pcVar34,piVar25)" identifier (argument_list "(piVar31,pcVar19,pcVar34,piVar25)" ( identifier , identifier , identifier , identifier ))) ;) }))) (goto_statement "goto LAB_002345fa;" goto statement_identifier ;) (labeled_statement "LAB_00239247:\n  uVar33 = TellBlob(local_6224,local_620c);" statement_identifier : (expression_statement "uVar33 = TellBlob(local_6224,local_620c);" (assignment_expression "uVar33 = TellBlob(local_6224,local_620c)" identifier = (call_expression "TellBlob(local_6224,local_620c)" identifier (argument_list "(local_6224,local_620c)" ( identifier , identifier )))) ;)) (expression_statement "local_6200[local_61f4] = uVar33;" (assignment_expression "local_6200[local_61f4] = uVar33" (subscript_expression "local_6200[local_61f4]" identifier [ identifier ]) = identifier) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" identifier (argument_list "(local_6224,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar7 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar7 = LocaleCompare(puVar9,&DAT_002a2413)" identifier = (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) )))) ;) (if_statement "if (iVar7 == 0) {\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }\n  else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }" { (expression_statement "uVar12 = FUN_00234220();" (assignment_expression "uVar12 = FUN_00234220()" identifier = (call_expression "FUN_00234220()" identifier (argument_list "()" ( )))) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12)" identifier (argument_list "(local_5020,0x1000,"/Title (%s)\n",uVar12)" ( identifier , number_literal , (string_literal ""/Title (%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "DestroyString(uVar12);" (call_expression "DestroyString(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) }) (else_clause "else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }" else (compound_statement "{\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }" { (expression_statement "iVar7 = FUN_00234080();" (assignment_expression "iVar7 = FUN_00234080()" identifier = (call_expression "FUN_00234080()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar13 = local_6020;" (assignment_expression "puVar13 = local_6020" identifier = identifier) ;) (if_statement "if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }" { (do_statement "do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);" do (compound_statement "{\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      }" { (expression_statement "puVar29 = puVar13;" (assignment_expression "puVar29 = puVar13" identifier = identifier) ;) (expression_statement "uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;" (assignment_expression "uVar17 = *puVar29 + 0xfefefeff & ~*puVar29" identifier = (binary_expression "*puVar29 + 0xfefefeff & ~*puVar29" (binary_expression "*puVar29 + 0xfefefeff" (pointer_expression "*puVar29" * identifier) + number_literal) & (unary_expression "~*puVar29" ~ (pointer_expression "*puVar29" * identifier)))) ;) (expression_statement "uVar18 = uVar17 & 0x80808080;" (assignment_expression "uVar18 = uVar17 & 0x80808080" identifier = (binary_expression "uVar17 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar13 = puVar29 + 1;" (assignment_expression "puVar13 = puVar29 + 1" identifier = (binary_expression "puVar29 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) ;) (expression_statement "bVar32 = (uVar17 & 0x8080) == 0;" (assignment_expression "bVar32 = (uVar17 & 0x8080) == 0" identifier = (binary_expression "(uVar17 & 0x8080) == 0" (parenthesized_expression "(uVar17 & 0x8080)" ( (binary_expression "uVar17 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }" if (parenthesized_expression "(bVar32)" ( identifier )) (compound_statement "{\n        uVar18 = uVar18 >> 0x10;\n      }" { (expression_statement "uVar18 = uVar18 >> 0x10;" (assignment_expression "uVar18 = uVar18 >> 0x10" identifier = (binary_expression "uVar18 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }" if (parenthesized_expression "(bVar32)" ( identifier )) (compound_statement "{\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }" { (expression_statement "puVar13 = (uint *)((int)puVar29 + 6);" (assignment_expression "puVar13 = (uint *)((int)puVar29 + 6)" identifier = (cast_expression "(uint *)((int)puVar29 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar29 + 6)" ( (binary_expression "(int)puVar29 + 6" (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));" (assignment_expression "pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020))" identifier = (cast_expression "(char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020))" ( (binary_expression "(int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020)" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020)" ( (binary_expression "(-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020" (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))" ( (binary_expression "-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)" number_literal - (cast_expression "(uint)CARRY1((byte)uVar18,(byte)uVar18)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar18,(byte)uVar18)" identifier (argument_list "((byte)uVar18,(byte)uVar18)" ( (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(int)local_6020" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);" (assignment_expression "puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4)" identifier = (cast_expression "(uint *)AcquireQuantumMemory(pcVar34 + 1,4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(pcVar34 + 1,4)" identifier (argument_list "(pcVar34 + 1,4)" ( (binary_expression "pcVar34 + 1" identifier + number_literal) , number_literal ))))) ;) (expression_statement "pcVar19 = (char *)0x0;" (assignment_expression "pcVar19 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }" if (parenthesized_expression "(puVar13 != (uint *)0x0)" ( (binary_expression "puVar13 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }" { (do_statement "do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);" do (compound_statement "{\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        }" { (expression_statement "puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);" (assignment_expression "puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19)" (subscript_expression "puVar13[(int)pcVar19]" identifier [ (cast_expression "(int)pcVar19" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (binary_expression "(uint)*(byte *)((int)local_6020 + (int)pcVar19)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)local_6020 + (int)pcVar19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_6020 + (int)pcVar19)" ( (binary_expression "(int)local_6020 + (int)pcVar19" (cast_expression "(int)local_6020" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pcVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "pcVar19 = pcVar19 + 1;" (assignment_expression "pcVar19 = pcVar19 + 1" identifier = (binary_expression "pcVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar34 + 1 != pcVar19)" ( (binary_expression "pcVar34 + 1 != pcVar19" (binary_expression "pcVar34 + 1" identifier + number_literal) != identifier) )) ;) (labeled_statement "LAB_00239c56:\n        uStack_2020 = 0x33323130;" statement_identifier : (expression_statement "uStack_2020 = 0x33323130;" (assignment_expression "uStack_2020 = 0x33323130" identifier = number_literal) ;)) (expression_statement "uStack_201c = 0x37363534;" (assignment_expression "uStack_201c = 0x37363534" identifier = number_literal) ;) (expression_statement "uStack_2018 = 0x42413938;" (assignment_expression "uStack_2018 = 0x42413938" identifier = number_literal) ;) (expression_statement "uStack_2014 = 0x46454443;" (assignment_expression "uStack_2014 = 0x46454443" identifier = number_literal) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Title <");" (call_expression "FormatLocaleString(local_5020,0x1000,"/Title <")" identifier (argument_list "(local_5020,0x1000,"/Title <")" ( identifier , number_literal , (string_literal ""/Title <"" " string_content ") ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (if_statement "if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }" if (parenthesized_expression "(0 < (int)pcVar34)" ( (binary_expression "0 < (int)pcVar34" number_literal < (cast_expression "(int)pcVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }" { (expression_statement "puVar29 = puVar13;" (assignment_expression "puVar29 = puVar13" identifier = identifier) ;) (do_statement "do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);" do (compound_statement "{\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          }" { (expression_statement "puVar20 = puVar29 + 1;" (assignment_expression "puVar20 = puVar29 + 1" identifier = (binary_expression "puVar29 + 1" identifier + number_literal)) ;) (expression_statement "WriteBlobByte(local_6224,0x30);" (call_expression "WriteBlobByte(local_6224,0x30)" identifier (argument_list "(local_6224,0x30)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(local_6224,0x30);" (call_expression "WriteBlobByte(local_6224,0x30)" identifier (argument_list "(local_6224,0x30)" ( identifier , number_literal ))) ;) (expression_statement "WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));" (call_expression "WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)))" identifier (argument_list "(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)))" ( identifier , (pointer_expression "*(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU))" * (cast_expression "(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU))" ( (binary_expression "(int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)" (cast_expression "(int)&uStack_2020" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2020" & identifier)) + (parenthesized_expression "((int)*puVar29 >> 4 & 0xfU)" ( (binary_expression "(int)*puVar29 >> 4 & 0xfU" (binary_expression "(int)*puVar29 >> 4" (cast_expression "(int)*puVar29" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*puVar29" * identifier)) >> number_literal) & number_literal) ))) )))) ))) ;) (expression_statement "WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));" (call_expression "WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)))" identifier (argument_list "(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)))" ( identifier , (pointer_expression "*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf))" * (cast_expression "(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_2020 + (*puVar29 & 0xf))" ( (binary_expression "(int)&uStack_2020 + (*puVar29 & 0xf)" (cast_expression "(int)&uStack_2020" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2020" & identifier)) + (parenthesized_expression "(*puVar29 & 0xf)" ( (binary_expression "*puVar29 & 0xf" (pointer_expression "*puVar29" * identifier) & number_literal) ))) )))) ))) ;) (expression_statement "puVar29 = puVar20;" (assignment_expression "puVar29 = puVar20" identifier = identifier) ;) }) while (parenthesized_expression "(puVar20 != puVar13 + (int)pcVar34)" ( (binary_expression "puVar20 != puVar13 + (int)pcVar34" identifier != (binary_expression "puVar13 + (int)pcVar34" identifier + (cast_expression "(int)pcVar34" ( (type_descriptor "int" primitive_type) ) identifier))) )) ;) })) (expression_statement "FormatLocaleString(local_5020,0x1000,">\n");" (call_expression "FormatLocaleString(local_5020,0x1000,">\n")" identifier (argument_list "(local_5020,0x1000,">\n")" ( identifier , number_literal , (string_literal "">\n"" " string_content escape_sequence ") ))) ;) (expression_statement "RelinquishMagickMemory(puVar13);" (call_expression "RelinquishMagickMemory(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;) })) }) (else_clause "else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }" else (compound_statement "{\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }" { (expression_statement "puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);" (assignment_expression "puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4)" identifier = (cast_expression "(uint *)AcquireQuantumMemory(iVar7 + 1,4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(iVar7 + 1,4)" identifier (argument_list "(iVar7 + 1,4)" ( (binary_expression "iVar7 + 1" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }" if (parenthesized_expression "(puVar13 != (uint *)0x0)" ( (binary_expression "puVar13 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }" { (expression_statement "pcVar34 = (char *)FUN_00234080();" (assignment_expression "pcVar34 = (char *)FUN_00234080()" identifier = (cast_expression "(char *)FUN_00234080()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00234080()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_00239c56;" goto statement_identifier ;) })) }))) }))) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "local_60a8 = GetMagickTime();" (assignment_expression "local_60a8 = GetMagickTime()" identifier = (call_expression "GetMagickTime()" identifier (argument_list "()" ( )))) ;) (expression_statement "gmtime_r(&local_60a8,&local_604c);" (call_expression "gmtime_r(&local_60a8,&local_604c)" identifier (argument_list "(&local_60a8,&local_604c)" ( (pointer_expression "&local_60a8" & identifier) , (pointer_expression "&local_604c" & identifier) ))) ;) (expression_statement "FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec);" (call_expression "FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec)" identifier (argument_list "(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec)" ( (pointer_expression "&uStack_2020" & identifier) , number_literal , (pointer_expression "&UNK_00305c80" & identifier) , (binary_expression "local_604c.tm_year + 0x76c" (field_expression "local_604c.tm_year" identifier . field_identifier) + number_literal) , (binary_expression "local_604c.tm_mon + 1" (field_expression "local_604c.tm_mon" identifier . field_identifier) + number_literal) , (field_expression "local_604c.tm_mday" identifier . field_identifier) , (field_expression "local_604c.tm_hour" identifier . field_identifier) , (field_expression "local_604c.tm_min" identifier . field_identifier) , (field_expression "local_604c.tm_sec" identifier . field_identifier) ))) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);" (call_expression "FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020)" identifier (argument_list "(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020)" ( identifier , number_literal , (string_literal ""/CreationDate (%s)\n"" " string_content escape_sequence ") , (pointer_expression "&uStack_2020" & identifier) ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);" (call_expression "FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020)" identifier (argument_list "(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020)" ( identifier , number_literal , (string_literal ""/ModDate (%s)\n"" " string_content escape_sequence ") , (pointer_expression "&uStack_2020" & identifier) ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "uVar12 = FUN_00234220();" (assignment_expression "uVar12 = FUN_00234220()" identifier = (call_expression "FUN_00234220()" identifier (argument_list "()" ( )))) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12)" identifier (argument_list "(local_5020,0x1000,"/Producer (%s)\n",uVar12)" ( identifier , number_literal , (string_literal ""/Producer (%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "DestroyString(uVar12);" (call_expression "DestroyString(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" identifier (argument_list "(local_6224,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" identifier (argument_list "(local_6224,"endobj\n")" ( identifier , (string_literal ""endobj\n"" " string_content escape_sequence ") ))) ;) (expression_statement "TellBlob(local_6224);" (call_expression "TellBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (expression_statement "LocaleCompare(puVar9,&DAT_002a2413);" (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" identifier (argument_list "(puVar9,&DAT_002a2413)" ( identifier , (pointer_expression "&DAT_002a2413" & identifier) ))) ;) (expression_statement "WriteBlobString(local_6224,"xref\n");" (call_expression "WriteBlobString(local_6224,"xref\n")" identifier (argument_list "(local_6224,"xref\n")" ( identifier , (string_literal ""xref\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,"0000000000 65535 f \n");" (call_expression "WriteBlobString(local_6224,"0000000000 65535 f \n")" identifier (argument_list "(local_6224,"0000000000 65535 f \n")" ( identifier , (string_literal ""0000000000 65535 f \n"" " string_content escape_sequence ") ))) ;) (if_statement "if (0 < (int)(uVar10 + 7)) {\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }" if (parenthesized_expression "(0 < (int)(uVar10 + 7))" ( (binary_expression "0 < (int)(uVar10 + 7)" number_literal < (cast_expression "(int)(uVar10 + 7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar10 + 7)" ( (binary_expression "uVar10 + 7" identifier + number_literal) )))) )) (compound_statement "{\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }" { (expression_statement "puVar26 = local_6200;" (assignment_expression "puVar26 = local_6200" identifier = identifier) ;) (do_statement "do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);" do (compound_statement "{\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    }" { (expression_statement "uVar12 = *(undefined4 *)puVar26;" (assignment_expression "uVar12 = *(undefined4 *)puVar26" identifier = (pointer_expression "*(undefined4 *)puVar26" * (cast_expression "(undefined4 *)puVar26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar26 = puVar26 + 1;" (assignment_expression "puVar26 = puVar26 + 1" identifier = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);" (call_expression "FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12)" identifier (argument_list "(local_5020,0x1000,"%010lu 00000 n \n",uVar12)" ( identifier , number_literal , (string_literal ""%010lu 00000 n \n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "(local_6200 + uVar10 + 7 != puVar26)" ( (binary_expression "local_6200 + uVar10 + 7 != puVar26" (binary_expression "local_6200 + uVar10 + 7" (binary_expression "local_6200 + uVar10" identifier + identifier) + number_literal) != identifier) )) ;) })) (expression_statement "WriteBlobString(local_6224,"trailer\n");" (call_expression "WriteBlobString(local_6224,"trailer\n")" identifier (argument_list "(local_6224,"trailer\n")" ( identifier , (string_literal ""trailer\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" identifier (argument_list "(local_6224,"<<\n")" ( identifier , (string_literal ""<<\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "SignatureImage(local_6224,param_3);" (call_expression "SignatureImage(local_6224,param_3)" identifier (argument_list "(local_6224,param_3)" ( identifier , identifier ))) ;) (expression_statement "GetImageProperty(local_6224,"signature",param_3);" (call_expression "GetImageProperty(local_6224,"signature",param_3)" identifier (argument_list "(local_6224,"signature",param_3)" ( identifier , (string_literal ""signature"" " string_content ") , identifier ))) ;) (expression_statement "GetImageProperty(local_6224,"signature",param_3);" (call_expression "GetImageProperty(local_6224,"signature",param_3)" identifier (argument_list "(local_6224,"signature",param_3)" ( identifier , (string_literal ""signature"" " string_content ") , identifier ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" identifier (argument_list "(local_6224,">>\n")" ( identifier , (string_literal "">>\n"" " string_content escape_sequence ") ))) ;) (expression_statement "WriteBlobString(local_6224,"startxref\n");" (call_expression "WriteBlobString(local_6224,"startxref\n")" identifier (argument_list "(local_6224,"startxref\n")" ( identifier , (string_literal ""startxref\n"" " string_content escape_sequence ") ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" identifier (argument_list "(local_6224,local_5020)" ( identifier , identifier ))) ;) (expression_statement "iVar27 = 1;" (assignment_expression "iVar27 = 1" identifier = number_literal) ;) (expression_statement "WriteBlobString(local_6224,"%%EOF\n");" (call_expression "WriteBlobString(local_6224,"%%EOF\n")" identifier (argument_list "(local_6224,"%%EOF\n")" ( identifier , (string_literal ""%%EOF\n"" " string_content escape_sequence ") ))) ;) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" identifier (argument_list "(local_6200)" ( identifier ))) ;) (expression_statement "CloseBlob(local_6224);" (call_expression "CloseBlob(local_6224)" identifier (argument_list "(local_6224)" ( identifier ))) ;) (labeled_statement "LAB_002345fa:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return iVar27;\n  }" { (return_statement "return iVar27;" return identifier ;) }))) (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) & LIT) ))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression & IDENT) , IDENT , IDENT , (pointer_expression & IDENT) , (call_expression (concatenated_string (string_literal " string_content ") IDENT) (argument_list ( IDENT ))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (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 IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) :) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement default : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression & IDENT) , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression ! (call_expression IDENT (argument_list ( IDENT ))))) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) + IDENT) )))) & LIT) ))) / IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT)) + IDENT) )))) & LIT) ))) / IDENT) )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) >> LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (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 { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , LIT ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )) / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (call_expression IDENT (argument_list ( (binary_expression IDENT + IDENT) ))) )))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )) / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) >> LIT) ))) , IDENT ))) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (call_expression IDENT (argument_list ( (binary_expression IDENT + IDENT) ))) )))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) >> LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) >> LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )) / (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )) / IDENT) ))) >> LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) + (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) >> LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , (subscript_expression IDENT [ IDENT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ IDENT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) != LIT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;) }))))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (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 , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) :) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;)) (case_statement default : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < LIT) )))) & LIT) )) + LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , LIT ))) ;) })) (goto_statement goto statement_identifier ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , (field_expression IDENT . field_identifier) ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) * (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) * (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) & LIT) )) != LIT) || (binary_expression (binary_expression IDENT >> LIT) != LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT))) ))) )) (compound_statement { (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) :) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (goto_statement goto statement_identifier ;)) (case_statement default : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (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)) ))))) * IDENT) + (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) (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)) ))))))) + (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) (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)) )))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + IDENT) )))))) ;) })) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (labeled_statement statement_identifier : (break_statement break ;))) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (labeled_statement statement_identifier : (break_statement break ;))) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (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)) ))))) * IDENT) + (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) (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)) ))))))) + (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) (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)) )))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + IDENT) )))))))) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) ;) })) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) + LIT) )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_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 = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) , (binary_expression LIT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (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 = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) , (binary_expression LIT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) )))) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) })))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) })) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != 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) ) (call_expression IDENT (argument_list ( (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) )))) )))) & LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) ))) >> LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , 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 )))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT < IDENT)) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) :) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;)) (case_statement default : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) })) (goto_statement goto statement_identifier ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , (field_expression IDENT . field_identifier) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) * (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT == LIT))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) && (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != 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) ) (call_expression IDENT (argument_list ( (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) )))) )))) & LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (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 = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) )))) )))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) , (binary_expression LIT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) , (binary_expression LIT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (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 , IDENT , IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) :) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (goto_statement goto statement_identifier ;)) (case_statement default : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (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 = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (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)) ))))) * IDENT) + (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) (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)) ))))))) + (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) (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)) )))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + IDENT) )))))) ;) })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (labeled_statement statement_identifier : (break_statement break ;))) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (labeled_statement statement_identifier : (break_statement break ;))) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (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)) ))))) * IDENT) + (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) (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)) ))))))) + (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) (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)) )))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + IDENT) )))))))) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) || (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (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 (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + IDENT) )))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT / IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT / IDENT) + IDENT) )))))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT / IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT / IDENT) + IDENT) )))))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " escape_sequence string_content escape_sequence ") ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))))))) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , (field_expression IDENT . field_identifier) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (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 ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))))) ;) }))) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " escape_sequence string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))))) ;) }))) })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (subscript_expression IDENT [ LIT ])) )) ;) })) (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 = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 , IDENT , IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != 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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = 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 ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) }))) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) >> LIT) & LIT) ))) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) ))) )))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (goto_statement goto statement_identifier ;) })) }))) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , (pointer_expression & IDENT) , (binary_expression (field_expression IDENT . field_identifier) + LIT) , (binary_expression (field_expression IDENT . field_identifier) + LIT) , (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + LIT) != IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "int FUN_00234540(uint *param_1,int *param_2,char *param_3)\n\n{\n  float fVar1;\n  float fVar2;\n  int *piVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined1 uVar6;\n  int iVar7;\n  int *piVar8;\n  uint *puVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  uint *puVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  uint uVar17;\n  uint uVar18;\n  char *pcVar19;\n  uint *puVar20;\n  char cVar21;\n  undefined1 *puVar22;\n  uint *puVar23;\n  undefined1 *puVar24;\n  int *piVar25;\n  undefined8 *puVar26;\n  int iVar27;\n  undefined1 *puVar28;\n  uint *puVar29;\n  int iVar30;\n  int *piVar31;\n  int in_GS_OFFSET;\n  bool bVar32;\n  undefined2 in_FPUControlWord;\n  undefined8 uVar33;\n  char *pcVar34;\n  undefined *puVar35;\n  double dVar36;\n  int *local_6224;\n  char *local_620c;\n  undefined8 *local_6200;\n  int local_61f4;\n  undefined8 local_61e4;\n  int local_61dc;\n  double local_61cc;\n  ulonglong local_61c4;\n  uint local_61b8;\n  double local_61b4;\n  uint *local_61a8;\n  uint local_61a4;\n  int local_6194;\n  uint local_60cc;\n  time_t local_60a8;\n  uint local_60a4;\n  uint local_60a0;\n  int local_609c;\n  int local_6098;\n  undefined1 local_6094 [4];\n  uint local_6090;\n  undefined1 local_6084 [8];\n  int local_607c;\n  int local_6078;\n  double local_6074;\n  double local_606c;\n  tm local_604c;\n  uint local_6020 [1024];\n  undefined1 local_5020 [4096];\n  undefined1 auStack_4020 [4096];\n  undefined1 auStack_3020 [4096];\n  uint uStack_2020;\n  undefined4 uStack_201c;\n  undefined4 uStack_2018;\n  undefined4 uStack_2014;\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x234549;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (uint *)0x0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }\n  if (param_1[0xc7d] != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }\n  if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }\n  if (param_2[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }\n  if (param_2[0xcca] != 0) {\n    LogMagickEvent();\n  }\n  if (param_3 == (char *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }\n  iVar7 = OpenBlob(param_1,param_2,4,param_3);\n  if (iVar7 == 0) {\nLAB_002345f8:\n    iVar27 = 0;\n  }\n  else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }\n  goto LAB_002345fa;\nLAB_00239247:\n  uVar33 = TellBlob(local_6224,local_620c);\n  local_6200[local_61f4] = uVar33;\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"<<\n");\n  iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n  if (iVar7 == 0) {\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }\n  else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }\n  WriteBlobString(local_6224,local_5020);\n  local_60a8 = GetMagickTime();\n  gmtime_r(&local_60a8,&local_604c);\n  FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec);\n  FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  uVar12 = FUN_00234220();\n  FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);\n  DestroyString(uVar12);\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"endobj\n");\n  TellBlob(local_6224);\n  LocaleCompare(puVar9,&DAT_002a2413);\n  WriteBlobString(local_6224,"xref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"0000000000 65535 f \n");\n  if (0 < (int)(uVar10 + 7)) {\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }\n  WriteBlobString(local_6224,"trailer\n");\n  WriteBlobString(local_6224,"<<\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  SignatureImage(local_6224,param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"startxref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  iVar27 = 1;\n  WriteBlobString(local_6224,"%%EOF\n");\n  RelinquishMagickMemory(local_6200);\n  CloseBlob(local_6224);\nLAB_002345fa:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }\n                    \n  FUN_0029eab0();\n}" (primitive_type "int") (function_declarator "FUN_00234540(uint *param_1,int *param_2,char *param_3)" (identifier "FUN_00234540") (parameter_list "(uint *param_1,int *param_2,char *param_3)" (( "(") (parameter_declaration "uint *param_1" (type_identifier "uint") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "char *param_3" (primitive_type "char") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  float fVar1;\n  float fVar2;\n  int *piVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined1 uVar6;\n  int iVar7;\n  int *piVar8;\n  uint *puVar9;\n  uint uVar10;\n  int iVar11;\n  undefined4 uVar12;\n  uint *puVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  char *pcVar16;\n  uint uVar17;\n  uint uVar18;\n  char *pcVar19;\n  uint *puVar20;\n  char cVar21;\n  undefined1 *puVar22;\n  uint *puVar23;\n  undefined1 *puVar24;\n  int *piVar25;\n  undefined8 *puVar26;\n  int iVar27;\n  undefined1 *puVar28;\n  uint *puVar29;\n  int iVar30;\n  int *piVar31;\n  int in_GS_OFFSET;\n  bool bVar32;\n  undefined2 in_FPUControlWord;\n  undefined8 uVar33;\n  char *pcVar34;\n  undefined *puVar35;\n  double dVar36;\n  int *local_6224;\n  char *local_620c;\n  undefined8 *local_6200;\n  int local_61f4;\n  undefined8 local_61e4;\n  int local_61dc;\n  double local_61cc;\n  ulonglong local_61c4;\n  uint local_61b8;\n  double local_61b4;\n  uint *local_61a8;\n  uint local_61a4;\n  int local_6194;\n  uint local_60cc;\n  time_t local_60a8;\n  uint local_60a4;\n  uint local_60a0;\n  int local_609c;\n  int local_6098;\n  undefined1 local_6094 [4];\n  uint local_6090;\n  undefined1 local_6084 [8];\n  int local_607c;\n  int local_6078;\n  double local_6074;\n  double local_606c;\n  tm local_604c;\n  uint local_6020 [1024];\n  undefined1 local_5020 [4096];\n  undefined1 auStack_4020 [4096];\n  undefined1 auStack_3020 [4096];\n  uint uStack_2020;\n  undefined4 uStack_201c;\n  undefined4 uStack_2018;\n  undefined4 uStack_2014;\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x234549;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (uint *)0x0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }\n  if (param_1[0xc7d] != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }\n  if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }\n  if (param_2[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }\n  if (param_2[0xcca] != 0) {\n    LogMagickEvent();\n  }\n  if (param_3 == (char *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }\n  if (*(int *)(param_3 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }\n  iVar7 = OpenBlob(param_1,param_2,4,param_3);\n  if (iVar7 == 0) {\nLAB_002345f8:\n    iVar27 = 0;\n  }\n  else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }\n  goto LAB_002345fa;\nLAB_00239247:\n  uVar33 = TellBlob(local_6224,local_620c);\n  local_6200[local_61f4] = uVar33;\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"<<\n");\n  iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n  if (iVar7 == 0) {\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }\n  else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }\n  WriteBlobString(local_6224,local_5020);\n  local_60a8 = GetMagickTime();\n  gmtime_r(&local_60a8,&local_604c);\n  FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec);\n  FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);\n  WriteBlobString(local_6224,local_5020);\n  uVar12 = FUN_00234220();\n  FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);\n  DestroyString(uVar12);\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"endobj\n");\n  TellBlob(local_6224);\n  LocaleCompare(puVar9,&DAT_002a2413);\n  WriteBlobString(local_6224,"xref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,"0000000000 65535 f \n");\n  if (0 < (int)(uVar10 + 7)) {\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }\n  WriteBlobString(local_6224,"trailer\n");\n  WriteBlobString(local_6224,"<<\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  SignatureImage(local_6224,param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  GetImageProperty(local_6224,"signature",param_3);\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  WriteBlobString(local_6224,">>\n");\n  WriteBlobString(local_6224,"startxref\n");\n  FormatLocaleString();\n  WriteBlobString(local_6224,local_5020);\n  iVar27 = 1;\n  WriteBlobString(local_6224,"%%EOF\n");\n  RelinquishMagickMemory(local_6200);\n  CloseBlob(local_6224);\nLAB_002345fa:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }\n                    \n  FUN_0029eab0();\n}" ({ "{") (declaration "float fVar1;" (primitive_type "float") (identifier "fVar1") (; ";")) (declaration "float fVar2;" (primitive_type "float") (identifier "fVar2") (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "undefined1 uVar6;" (type_identifier "undefined1") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "uint *puVar9;" (type_identifier "uint") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "uint *puVar13;" (type_identifier "uint") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined1 *puVar14;" (type_identifier "undefined1") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "char *pcVar19;" (primitive_type "char") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "uint *puVar20;" (type_identifier "uint") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "char cVar21;" (primitive_type "char") (identifier "cVar21") (; ";")) (declaration "undefined1 *puVar22;" (type_identifier "undefined1") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "uint *puVar23;" (type_identifier "uint") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "undefined1 *puVar24;" (type_identifier "undefined1") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "int *piVar25;" (primitive_type "int") (pointer_declarator "*piVar25" (* "*") (identifier "piVar25")) (; ";")) (declaration "undefined8 *puVar26;" (type_identifier "undefined8") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "undefined1 *puVar28;" (type_identifier "undefined1") (pointer_declarator "*puVar28" (* "*") (identifier "puVar28")) (; ";")) (declaration "uint *puVar29;" (type_identifier "uint") (pointer_declarator "*puVar29" (* "*") (identifier "puVar29")) (; ";")) (declaration "int iVar30;" (primitive_type "int") (identifier "iVar30") (; ";")) (declaration "int *piVar31;" (primitive_type "int") (pointer_declarator "*piVar31" (* "*") (identifier "piVar31")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar32;" (primitive_type "bool") (identifier "bVar32") (; ";")) (declaration "undefined2 in_FPUControlWord;" (type_identifier "undefined2") (identifier "in_FPUControlWord") (; ";")) (declaration "undefined8 uVar33;" (type_identifier "undefined8") (identifier "uVar33") (; ";")) (declaration "char *pcVar34;" (primitive_type "char") (pointer_declarator "*pcVar34" (* "*") (identifier "pcVar34")) (; ";")) (declaration "undefined *puVar35;" (type_identifier "undefined") (pointer_declarator "*puVar35" (* "*") (identifier "puVar35")) (; ";")) (declaration "double dVar36;" (primitive_type "double") (identifier "dVar36") (; ";")) (declaration "int *local_6224;" (primitive_type "int") (pointer_declarator "*local_6224" (* "*") (identifier "local_6224")) (; ";")) (declaration "char *local_620c;" (primitive_type "char") (pointer_declarator "*local_620c" (* "*") (identifier "local_620c")) (; ";")) (declaration "undefined8 *local_6200;" (type_identifier "undefined8") (pointer_declarator "*local_6200" (* "*") (identifier "local_6200")) (; ";")) (declaration "int local_61f4;" (primitive_type "int") (identifier "local_61f4") (; ";")) (declaration "undefined8 local_61e4;" (type_identifier "undefined8") (identifier "local_61e4") (; ";")) (declaration "int local_61dc;" (primitive_type "int") (identifier "local_61dc") (; ";")) (declaration "double local_61cc;" (primitive_type "double") (identifier "local_61cc") (; ";")) (declaration "ulonglong local_61c4;" (type_identifier "ulonglong") (identifier "local_61c4") (; ";")) (declaration "uint local_61b8;" (type_identifier "uint") (identifier "local_61b8") (; ";")) (declaration "double local_61b4;" (primitive_type "double") (identifier "local_61b4") (; ";")) (declaration "uint *local_61a8;" (type_identifier "uint") (pointer_declarator "*local_61a8" (* "*") (identifier "local_61a8")) (; ";")) (declaration "uint local_61a4;" (type_identifier "uint") (identifier "local_61a4") (; ";")) (declaration "int local_6194;" (primitive_type "int") (identifier "local_6194") (; ";")) (declaration "uint local_60cc;" (type_identifier "uint") (identifier "local_60cc") (; ";")) (declaration "time_t local_60a8;" (type_identifier "time_t") (identifier "local_60a8") (; ";")) (declaration "uint local_60a4;" (type_identifier "uint") (identifier "local_60a4") (; ";")) (declaration "uint local_60a0;" (type_identifier "uint") (identifier "local_60a0") (; ";")) (declaration "int local_609c;" (primitive_type "int") (identifier "local_609c") (; ";")) (declaration "int local_6098;" (primitive_type "int") (identifier "local_6098") (; ";")) (declaration "undefined1 local_6094 [4];" (type_identifier "undefined1") (array_declarator "local_6094 [4]" (identifier "local_6094") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "uint local_6090;" (type_identifier "uint") (identifier "local_6090") (; ";")) (declaration "undefined1 local_6084 [8];" (type_identifier "undefined1") (array_declarator "local_6084 [8]" (identifier "local_6084") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "int local_607c;" (primitive_type "int") (identifier "local_607c") (; ";")) (declaration "int local_6078;" (primitive_type "int") (identifier "local_6078") (; ";")) (declaration "double local_6074;" (primitive_type "double") (identifier "local_6074") (; ";")) (declaration "double local_606c;" (primitive_type "double") (identifier "local_606c") (; ";")) (declaration "tm local_604c;" (type_identifier "tm") (identifier "local_604c") (; ";")) (declaration "uint local_6020 [1024];" (type_identifier "uint") (array_declarator "local_6020 [1024]" (identifier "local_6020") ([ "[") (number_literal "1024") (] "]")) (; ";")) (declaration "undefined1 local_5020 [4096];" (type_identifier "undefined1") (array_declarator "local_5020 [4096]" (identifier "local_5020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined1 auStack_4020 [4096];" (type_identifier "undefined1") (array_declarator "auStack_4020 [4096]" (identifier "auStack_4020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined1 auStack_3020 [4096];" (type_identifier "undefined1") (array_declarator "auStack_3020 [4096]" (identifier "auStack_3020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "uint uStack_2020;" (type_identifier "uint") (identifier "uStack_2020") (; ";")) (declaration "undefined4 uStack_201c;" (type_identifier "undefined4") (identifier "uStack_201c") (; ";")) (declaration "undefined4 uStack_2018;" (type_identifier "undefined4") (identifier "uStack_2018") (; ";")) (declaration "undefined4 uStack_2014;" (type_identifier "undefined4") (identifier "uStack_2014") (; ";")) (declaration "undefined1 local_1020 [4096];" (type_identifier "undefined1") (array_declarator "local_1020 [4096]" (identifier "local_1020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x234549;" (assignment_expression "uStack_14 = 0x234549" (identifier "uStack_14") (= "=") (number_literal "0x234549")) (; ";")) (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 == (uint *)0x0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }" (if "if") (parenthesized_expression "(param_1 == (uint *)0x0)" (( "(") (binary_expression "param_1 == (uint *)0x0" (identifier "param_1") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage")" (identifier "__assert_fail") (argument_list "("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage")" (( "(") (string_literal ""image_info != (const ImageInfo *) NULL"" (" """) (string_content "image_info != (const ImageInfo *) NULL") (" """)) (, ",") (string_literal ""coders/pdf.c"" (" """) (string_content "coders/pdf.c") (" """)) (, ",") (number_literal "0x52f") (, ",") (string_literal ""WritePDFImage"" (" """) (string_content "WritePDFImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1[0xc7d] != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }" (if "if") (parenthesized_expression "(param_1[0xc7d] != 0xabacadab)" (( "(") (binary_expression "param_1[0xc7d] != 0xabacadab" (subscript_expression "param_1[0xc7d]" (identifier "param_1") ([ "[") (number_literal "0xc7d") (] "]")) (!= "!=") (number_literal "0xabacadab")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage")" (identifier "__assert_fail") (argument_list "("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,\n                  "WritePDFImage")" (( "(") (string_literal ""image_info->signature == MagickCoreSignature"" (" """) (string_content "image_info->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/pdf.c"" (" """) (string_content "coders/pdf.c") (" """)) (, ",") (number_literal "0x530") (, ",") (string_literal ""WritePDFImage"" (" """) (string_content "WritePDFImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\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("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");\n  }" ({ "{") (expression_statement "__assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");" (call_expression "__assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage")" (identifier "__assert_fail") (argument_list "("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage")" (( "(") (string_literal ""image != (Image *) NULL"" (" """) (string_content "image != (Image *) NULL") (" """)) (, ",") (string_literal ""coders/pdf.c"" (" """) (string_content "coders/pdf.c") (" """)) (, ",") (number_literal "0x531") (, ",") (string_literal ""WritePDFImage"" (" """) (string_content "WritePDFImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }" (if "if") (parenthesized_expression "(param_2[0xcd1] != -0x54535255)" (( "(") (binary_expression "param_2[0xcd1] != -0x54535255" (subscript_expression "param_2[0xcd1]" (identifier "param_2") ([ "[") (number_literal "0xcd1") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");\n  }" ({ "{") (expression_statement "__assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage")" (identifier "__assert_fail") (argument_list "("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage")" (( "(") (string_literal ""image->signature == MagickCoreSignature"" (" """) (string_content "image->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/pdf.c"" (" """) (string_content "coders/pdf.c") (" """)) (, ",") (number_literal "0x532") (, ",") (string_literal ""WritePDFImage"" (" """) (string_content "WritePDFImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2[0xcca] != 0) {\n    LogMagickEvent();\n  }" (if "if") (parenthesized_expression "(param_2[0xcca] != 0)" (( "(") (binary_expression "param_2[0xcca] != 0" (subscript_expression "param_2[0xcca]" (identifier "param_2") ([ "[") (number_literal "0xcca") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    LogMagickEvent();\n  }" ({ "{") (expression_statement "LogMagickEvent();" (call_expression "LogMagickEvent()" (identifier "LogMagickEvent") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_3 == (char *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }" (if "if") (parenthesized_expression "(param_3 == (char *)0x0)" (( "(") (binary_expression "param_3 == (char *)0x0" (identifier "param_3") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage")" (identifier "__assert_fail") (argument_list "("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage")" (( "(") (string_literal ""exception != (ExceptionInfo *) NULL"" (" """) (string_content "exception != (ExceptionInfo *) NULL") (" """)) (, ",") (string_literal ""coders/pdf.c"" (" """) (string_content "coders/pdf.c") (" """)) (, ",") (number_literal "0x535") (, ",") (string_literal ""WritePDFImage"" (" """) (string_content "WritePDFImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_3 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }" (if "if") (parenthesized_expression "(*(int *)(param_3 + 0x1c) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_3 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_3 + 0x1c)" (* "*") (cast_expression "(int *)(param_3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1c)" (( "(") (binary_expression "param_3 + 0x1c" (identifier "param_3") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );\n  }" ({ "{") (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 );" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 )" (identifier "__assert_fail") (argument_list "("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"\n                 )" (( "(") (string_literal ""exception->signature == MagickCoreSignature"" (" """) (string_content "exception->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/pdf.c"" (" """) (string_content "coders/pdf.c") (" """)) (, ",") (number_literal "0x536") (, ",") (string_literal ""WritePDFImage"" (" """) (string_content "WritePDFImage") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar7 = OpenBlob(param_1,param_2,4,param_3);" (assignment_expression "iVar7 = OpenBlob(param_1,param_2,4,param_3)" (identifier "iVar7") (= "=") (call_expression "OpenBlob(param_1,param_2,4,param_3)" (identifier "OpenBlob") (argument_list "(param_1,param_2,4,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (number_literal "4") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\nLAB_002345f8:\n    iVar27 = 0;\n  }\n  else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002345f8:\n    iVar27 = 0;\n  }" ({ "{") (labeled_statement "LAB_002345f8:\n    iVar27 = 0;" (statement_identifier "LAB_002345f8") (: ":") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }" (else "else") (compound_statement "{\n    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);\n    piVar25 = param_2 + 0xc6;\n    piVar31 = param_2;\n    if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\nLAB_00239234:\n    iVar27 = 0;\n    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);\n  }" ({ "{") (expression_statement "local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);" (assignment_expression "local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8)" (identifier "local_6200") (= "=") (cast_expression "(undefined8 *)AcquireQuantumMemory(0x800,8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireQuantumMemory(0x800,8)" (identifier "AcquireQuantumMemory") (argument_list "(0x800,8)" (( "(") (number_literal "0x800") (, ",") (number_literal "8") () ")"))))) (; ";")) (expression_statement "piVar25 = param_2 + 0xc6;" (assignment_expression "piVar25 = param_2 + 0xc6" (identifier "piVar25") (= "=") (binary_expression "param_2 + 0xc6" (identifier "param_2") (+ "+") (number_literal "0xc6"))) (; ";")) (expression_statement "piVar31 = param_2;" (assignment_expression "piVar31 = param_2" (identifier "piVar31") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (local_6200 == (undefined8 *)0x0) {\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }\n    else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }" (if "if") (parenthesized_expression "(local_6200 == (undefined8 *)0x0)" (( "(") (binary_expression "local_6200 == (undefined8 *)0x0" (identifier "local_6200") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }" ({ "{") (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" (identifier "pcVar34") (= "=") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" (identifier "pcVar19") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" (identifier "ThrowMagickException") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" (identifier "piVar8") (= "=") (cast_expression "(int *)param_1[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (while_statement "while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }" (while "while") (parenthesized_expression "(piVar5 = param_2, piVar8 != (int *)0x0)" (( "(") (comma_expression "piVar5 = param_2, piVar8 != (int *)0x0" (assignment_expression "piVar5 = param_2" (identifier "piVar5") (= "=") (identifier "param_2")) (, ",") (binary_expression "piVar8 != (int *)0x0" (identifier "piVar8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }" ({ "{") (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" (identifier "piVar8") (= "=") (cast_expression "(int *)piVar5[0xccf]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[0xccf]" (identifier "piVar5") ([ "[") (number_literal "0xccf") (] "]")))) (; ";")) (expression_statement "param_2 = piVar8;" (assignment_expression "param_2 = piVar8" (identifier "param_2") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" (identifier "piVar31") (= "=") (identifier "piVar5")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }" (else "else") (compound_statement "{\n      memset(local_6200,0,0x4000);\n      piVar8 = param_2;\n      do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      puVar9 = param_1 + 0x7c;\n      LocaleCompare(puVar9,&DAT_002a2413);\n      piVar8 = param_2;\n      do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);\n      iVar7 = GetImageOption(param_1,"pdf:version");\n      if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }\n      uVar33 = TellBlob(param_2);\n      *local_6200 = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"/Type /Catalog");\n      iVar7 = GetImageOption(param_1,"pdf:page-direction");\n      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }\n      WriteBlobString(param_2,"\n");\n      WriteBlobString(param_2,">>\n");\n      WriteBlobString(param_2,"endobj\n");\n      pcVar34 = (char *)local_6020;\n      GetPathComponent(piVar25,5,local_6020);\n      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);\n      if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }\n      uVar33 = TellBlob(param_2);\n      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      WriteBlobString(param_2,"<<\n");\n      WriteBlobString(param_2,"/Type /Pages\n");\n      FormatLocaleString();\n      WriteBlobString(param_2,local_5020);\n      piVar8 = param_2;\n      if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }\n      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }\n      pcVar34 = (char *)0x8;\n      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);\n      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;\n      pcVar34 = "`%s\'";\n      pcVar19 = "MemoryAllocationFailed";\n      ThrowMagickException();\n      piVar8 = (int *)param_1[3];\n      while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }\n    }" ({ "{") (expression_statement "memset(local_6200,0,0x4000);" (call_expression "memset(local_6200,0,0x4000)" (identifier "memset") (argument_list "(local_6200,0,0x4000)" (( "(") (identifier "local_6200") (, ",") (number_literal "0") (, ",") (number_literal "0x4000") () ")"))) (; ";")) (expression_statement "piVar8 = param_2;" (assignment_expression "piVar8 = param_2" (identifier "piVar8") (= "=") (identifier "param_2")) (; ";")) (do_statement "do {\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);" (do "do") (compound_statement "{\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }" ({ "{") (expression_statement "piVar8 = (int *)GetNextImageInList(piVar8);" (assignment_expression "piVar8 = (int *)GetNextImageInList(piVar8)" (identifier "piVar8") (= "=") (cast_expression "(int *)GetNextImageInList(piVar8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetNextImageInList(piVar8)" (identifier "GetNextImageInList") (argument_list "(piVar8)" (( "(") (identifier "piVar8") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar8 != (int *)0x0)" (( "(") (binary_expression "piVar8 != (int *)0x0" (identifier "piVar8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "puVar9 = param_1 + 0x7c;" (assignment_expression "puVar9 = param_1 + 0x7c" (identifier "puVar9") (= "=") (binary_expression "param_1 + 0x7c" (identifier "param_1") (+ "+") (number_literal "0x7c"))) (; ";")) (expression_statement "LocaleCompare(puVar9,&DAT_002a2413);" (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" (identifier "LocaleCompare") (argument_list "(puVar9,&DAT_002a2413)" (( "(") (identifier "puVar9") (, ",") (pointer_expression "&DAT_002a2413" (& "&") (identifier "DAT_002a2413")) () ")"))) (; ";")) (expression_statement "piVar8 = param_2;" (assignment_expression "piVar8 = param_2" (identifier "piVar8") (= "=") (identifier "param_2")) (; ";")) (do_statement "do {\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      } while (piVar8 != (int *)0x0);" (do "do") (compound_statement "{\n        SetImageGray(piVar8,param_3);\n        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }\n        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }" ({ "{") (expression_statement "SetImageGray(piVar8,param_3);" (call_expression "SetImageGray(piVar8,param_3)" (identifier "SetImageGray") (argument_list "(piVar8,param_3)" (( "(") (identifier "piVar8") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);" (assignment_expression "iVar7 = GetImageProfile(piVar8,&DAT_002a81ca)" (identifier "iVar7") (= "=") (call_expression "GetImageProfile(piVar8,&DAT_002a81ca)" (identifier "GetImageProfile") (argument_list "(piVar8,&DAT_002a81ca)" (( "(") (identifier "piVar8") (, ",") (pointer_expression "&DAT_002a81ca" (& "&") (identifier "DAT_002a81ca")) () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n          SetImageStorageClass(piVar8,1,param_3);\n        }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          SetImageStorageClass(piVar8,1,param_3);\n        }" ({ "{") (expression_statement "SetImageStorageClass(piVar8,1,param_3);" (call_expression "SetImageStorageClass(piVar8,1,param_3)" (identifier "SetImageStorageClass") (argument_list "(piVar8,1,param_3)" (( "(") (identifier "piVar8") (, ",") (number_literal "1") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}"))) (if_statement "if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }" (if "if") (parenthesized_expression "((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0))" (( "(") (binary_expression "(0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)" (parenthesized_expression "(0x1f < piVar8[1] - 2U)" (( "(") (binary_expression "0x1f < piVar8[1] - 2U" (number_literal "0x1f") (< "<") (binary_expression "piVar8[1] - 2U" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (- "-") (number_literal "2U"))) () ")")) (|| "||") (parenthesized_expression "((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)" (( "(") (binary_expression "(0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0" (parenthesized_expression "(0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1)" (( "(") (binary_expression "0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1" (binary_expression "0x80780003U >> (piVar8[1] - 2U & 0x1f)" (number_literal "0x80780003U") (>> ">>") (parenthesized_expression "(piVar8[1] - 2U & 0x1f)" (( "(") (binary_expression "piVar8[1] - 2U & 0x1f" (binary_expression "piVar8[1] - 2U" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (- "-") (number_literal "2U")) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          TransformImageColorspace(piVar8,0x17,param_3);\n        }" ({ "{") (expression_statement "TransformImageColorspace(piVar8,0x17,param_3);" (call_expression "TransformImageColorspace(piVar8,0x17,param_3)" (identifier "TransformImageColorspace") (argument_list "(piVar8,0x17,param_3)" (( "(") (identifier "piVar8") (, ",") (number_literal "0x17") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar8 = (int *)GetNextImageInList(piVar8);" (assignment_expression "piVar8 = (int *)GetNextImageInList(piVar8)" (identifier "piVar8") (= "=") (cast_expression "(int *)GetNextImageInList(piVar8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetNextImageInList(piVar8)" (identifier "GetNextImageInList") (argument_list "(piVar8)" (( "(") (identifier "piVar8") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar8 != (int *)0x0)" (( "(") (binary_expression "piVar8 != (int *)0x0" (identifier "piVar8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "iVar7 = GetImageOption(param_1,"pdf:version");" (assignment_expression "iVar7 = GetImageOption(param_1,"pdf:version")" (identifier "iVar7") (= "=") (call_expression "GetImageOption(param_1,"pdf:version")" (identifier "GetImageOption") (argument_list "(param_1,"pdf:version")" (( "(") (identifier "param_1") (, ",") (string_literal ""pdf:version"" (" """) (string_content "pdf:version") (" """)) () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n        InterpretLocaleValue(iVar7,0);\n      }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        InterpretLocaleValue(iVar7,0);\n      }" ({ "{") (expression_statement "InterpretLocaleValue(iVar7,0);" (call_expression "InterpretLocaleValue(iVar7,0)" (identifier "InterpretLocaleValue") (argument_list "(iVar7,0)" (( "(") (identifier "iVar7") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" (identifier "WriteBlobString") (argument_list "(param_2,local_5020)" (( "(") (identifier "param_2") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "iVar7 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar7 = LocaleCompare(puVar9,&DAT_002a2413)" (identifier "iVar7") (= "=") (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" (identifier "LocaleCompare") (argument_list "(puVar9,&DAT_002a2413)" (( "(") (identifier "puVar9") (, ",") (pointer_expression "&DAT_002a2413" (& "&") (identifier "DAT_002a2413")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        WriteBlobByte(param_2,0x25);\n        WriteBlobByte(param_2,0xe2);\n        WriteBlobByte(param_2,0xe3);\n        WriteBlobByte(param_2,0xcf);\n        WriteBlobByte(param_2,0xd3);\n        WriteBlobByte(param_2,10);\n      }" ({ "{") (expression_statement "WriteBlobByte(param_2,0x25);" (call_expression "WriteBlobByte(param_2,0x25)" (identifier "WriteBlobByte") (argument_list "(param_2,0x25)" (( "(") (identifier "param_2") (, ",") (number_literal "0x25") () ")"))) (; ";")) (expression_statement "WriteBlobByte(param_2,0xe2);" (call_expression "WriteBlobByte(param_2,0xe2)" (identifier "WriteBlobByte") (argument_list "(param_2,0xe2)" (( "(") (identifier "param_2") (, ",") (number_literal "0xe2") () ")"))) (; ";")) (expression_statement "WriteBlobByte(param_2,0xe3);" (call_expression "WriteBlobByte(param_2,0xe3)" (identifier "WriteBlobByte") (argument_list "(param_2,0xe3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xe3") () ")"))) (; ";")) (expression_statement "WriteBlobByte(param_2,0xcf);" (call_expression "WriteBlobByte(param_2,0xcf)" (identifier "WriteBlobByte") (argument_list "(param_2,0xcf)" (( "(") (identifier "param_2") (, ",") (number_literal "0xcf") () ")"))) (; ";")) (expression_statement "WriteBlobByte(param_2,0xd3);" (call_expression "WriteBlobByte(param_2,0xd3)" (identifier "WriteBlobByte") (argument_list "(param_2,0xd3)" (( "(") (identifier "param_2") (, ",") (number_literal "0xd3") () ")"))) (; ";")) (expression_statement "WriteBlobByte(param_2,10);" (call_expression "WriteBlobByte(param_2,10)" (identifier "WriteBlobByte") (argument_list "(param_2,10)" (( "(") (identifier "param_2") (, ",") (number_literal "10") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar33 = TellBlob(param_2);" (assignment_expression "uVar33 = TellBlob(param_2)" (identifier "uVar33") (= "=") (call_expression "TellBlob(param_2)" (identifier "TellBlob") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "*local_6200 = uVar33;" (assignment_expression "*local_6200 = uVar33" (pointer_expression "*local_6200" (* "*") (identifier "local_6200")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" (identifier "WriteBlobString") (argument_list "(param_2,local_5020)" (( "(") (identifier "param_2") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,"<<\n");" (call_expression "WriteBlobString(param_2,"<<\n")" (identifier "WriteBlobString") (argument_list "(param_2,"<<\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""<<\n"" (" """) (string_content "<<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "iVar7 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar7 = LocaleCompare(puVar9,&DAT_002a2413)" (identifier "iVar7") (= "=") (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" (identifier "LocaleCompare") (argument_list "(puVar9,&DAT_002a2413)" (( "(") (identifier "puVar9") (, ",") (pointer_expression "&DAT_002a2413" (& "&") (identifier "DAT_002a2413")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n      }" ({ "{") (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" (identifier "WriteBlobString") (argument_list "(param_2,local_5020)" (( "(") (identifier "param_2") (, ",") (identifier "local_5020") () ")"))) (; ";")) (} "}"))) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" (identifier "WriteBlobString") (argument_list "(param_2,local_5020)" (( "(") (identifier "param_2") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,"/Type /Catalog");" (call_expression "WriteBlobString(param_2,"/Type /Catalog")" (identifier "WriteBlobString") (argument_list "(param_2,"/Type /Catalog")" (( "(") (identifier "param_2") (, ",") (string_literal ""/Type /Catalog"" (" """) (string_content "/Type /Catalog") (" """)) () ")"))) (; ";")) (expression_statement "iVar7 = GetImageOption(param_1,"pdf:page-direction");" (assignment_expression "iVar7 = GetImageOption(param_1,"pdf:page-direction")" (identifier "iVar7") (= "=") (call_expression "GetImageOption(param_1,"pdf:page-direction")" (identifier "GetImageOption") (argument_list "(param_1,"pdf:page-direction")" (( "(") (identifier "param_1") (, ",") (string_literal ""pdf:page-direction"" (" """) (string_content "pdf:page-direction") (" """)) () ")")))) (; ";")) (if_statement "if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }" (if "if") (parenthesized_expression "((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0))" (( "(") (binary_expression "(iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)" (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)" (( "(") (comma_expression "iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0" (assignment_expression "iVar7 = LocaleCompare(iVar7,"right-to-left")" (identifier "iVar7") (= "=") (call_expression "LocaleCompare(iVar7,"right-to-left")" (identifier "LocaleCompare") (argument_list "(iVar7,"right-to-left")" (( "(") (identifier "iVar7") (, ",") (string_literal ""right-to-left"" (" """) (string_content "right-to-left") (" """)) () ")")))) (, ",") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");\n      }" ({ "{") (expression_statement "WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");" (call_expression "WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n")" (identifier "WriteBlobString") (argument_list "(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""/ViewerPreferences<</PageDirection/R2L>>\n"" (" """) (string_content "/ViewerPreferences<</PageDirection/R2L>>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "WriteBlobString(param_2,"\n");" (call_expression "WriteBlobString(param_2,"\n")" (identifier "WriteBlobString") (argument_list "(param_2,"\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""\n"" (" """) (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,">>\n");" (call_expression "WriteBlobString(param_2,">>\n")" (identifier "WriteBlobString") (argument_list "(param_2,">>\n")" (( "(") (identifier "param_2") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,"endobj\n");" (call_expression "WriteBlobString(param_2,"endobj\n")" (identifier "WriteBlobString") (argument_list "(param_2,"endobj\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "pcVar34 = (char *)local_6020;" (assignment_expression "pcVar34 = (char *)local_6020" (identifier "pcVar34") (= "=") (cast_expression "(char *)local_6020" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_6020"))) (; ";")) (expression_statement "GetPathComponent(piVar25,5,local_6020);" (call_expression "GetPathComponent(piVar25,5,local_6020)" (identifier "GetPathComponent") (argument_list "(piVar25,5,local_6020)" (( "(") (identifier "piVar25") (, ",") (number_literal "5") (, ",") (identifier "local_6020") () ")"))) (; ";")) (expression_statement "iVar7 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar7 = LocaleCompare(puVar9,&DAT_002a2413)" (identifier "iVar7") (= "=") (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" (identifier "LocaleCompare") (argument_list "(puVar9,&DAT_002a2413)" (( "(") (identifier "puVar9") (, ",") (pointer_expression "&DAT_002a2413" (& "&") (identifier "DAT_002a2413")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }\n      else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar33 = TellBlob(param_2);\n        local_6200[1] = uVar33;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"<<\n");\n        WriteBlobString(param_2,"/Subtype /XML\n");\n        auStack_3020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:modify",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }\n        auStack_4020[0] = 0;\n        iVar7 = GetImageProperty(param_2,"date:create",param_3);\n        if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }\n        uVar12 = GetMagickTime();\n        pcVar34 = (char *)&uStack_2020;\n        FormatMagickTime(uVar12,0x1000,&uStack_2020);\n        uVar12 = FUN_00234220();\n        FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,"/Type /Metadata\n");\n        WriteBlobString(param_2,">>\nstream\n");\n        WriteBlobString(param_2,local_1020);\n        iVar27 = 0x10;\n        WriteBlobString(param_2,"\nendstream\n");\n        iVar7 = 0x12;\n        WriteBlobString(param_2,"endobj\n");\n        local_61f4 = 3;\n      }" ({ "{") (expression_statement "uVar33 = TellBlob(param_2);" (assignment_expression "uVar33 = TellBlob(param_2)" (identifier "uVar33") (= "=") (call_expression "TellBlob(param_2)" (identifier "TellBlob") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "local_6200[1] = uVar33;" (assignment_expression "local_6200[1] = uVar33" (subscript_expression "local_6200[1]" (identifier "local_6200") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" (identifier "WriteBlobString") (argument_list "(param_2,local_5020)" (( "(") (identifier "param_2") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,"<<\n");" (call_expression "WriteBlobString(param_2,"<<\n")" (identifier "WriteBlobString") (argument_list "(param_2,"<<\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""<<\n"" (" """) (string_content "<<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,"/Subtype /XML\n");" (call_expression "WriteBlobString(param_2,"/Subtype /XML\n")" (identifier "WriteBlobString") (argument_list "(param_2,"/Subtype /XML\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""/Subtype /XML\n"" (" """) (string_content "/Subtype /XML") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "auStack_3020[0] = 0;" (assignment_expression "auStack_3020[0] = 0" (subscript_expression "auStack_3020[0]" (identifier "auStack_3020") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = GetImageProperty(param_2,"date:modify",param_3);" (assignment_expression "iVar7 = GetImageProperty(param_2,"date:modify",param_3)" (identifier "iVar7") (= "=") (call_expression "GetImageProperty(param_2,"date:modify",param_3)" (identifier "GetImageProperty") (argument_list "(param_2,"date:modify",param_3)" (( "(") (identifier "param_2") (, ",") (string_literal ""date:modify"" (" """) (string_content "date:modify") (" """)) (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          CopyMagickString(auStack_3020,iVar7,0x1000);\n        }" ({ "{") (expression_statement "CopyMagickString(auStack_3020,iVar7,0x1000);" (call_expression "CopyMagickString(auStack_3020,iVar7,0x1000)" (identifier "CopyMagickString") (argument_list "(auStack_3020,iVar7,0x1000)" (( "(") (identifier "auStack_3020") (, ",") (identifier "iVar7") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}"))) (expression_statement "auStack_4020[0] = 0;" (assignment_expression "auStack_4020[0] = 0" (subscript_expression "auStack_4020[0]" (identifier "auStack_4020") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = GetImageProperty(param_2,"date:create",param_3);" (assignment_expression "iVar7 = GetImageProperty(param_2,"date:create",param_3)" (identifier "iVar7") (= "=") (call_expression "GetImageProperty(param_2,"date:create",param_3)" (identifier "GetImageProperty") (argument_list "(param_2,"date:create",param_3)" (( "(") (identifier "param_2") (, ",") (string_literal ""date:create"" (" """) (string_content "date:create") (" """)) (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          CopyMagickString(auStack_4020,iVar7,0x1000);\n        }" ({ "{") (expression_statement "CopyMagickString(auStack_4020,iVar7,0x1000);" (call_expression "CopyMagickString(auStack_4020,iVar7,0x1000)" (identifier "CopyMagickString") (argument_list "(auStack_4020,iVar7,0x1000)" (( "(") (identifier "auStack_4020") (, ",") (identifier "iVar7") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar12 = GetMagickTime();" (assignment_expression "uVar12 = GetMagickTime()" (identifier "uVar12") (= "=") (call_expression "GetMagickTime()" (identifier "GetMagickTime") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar34 = (char *)&uStack_2020;" (assignment_expression "pcVar34 = (char *)&uStack_2020" (identifier "pcVar34") (= "=") (cast_expression "(char *)&uStack_2020" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_2020" (& "&") (identifier "uStack_2020")))) (; ";")) (expression_statement "FormatMagickTime(uVar12,0x1000,&uStack_2020);" (call_expression "FormatMagickTime(uVar12,0x1000,&uStack_2020)" (identifier "FormatMagickTime") (argument_list "(uVar12,0x1000,&uStack_2020)" (( "(") (identifier "uVar12") (, ",") (number_literal "0x1000") (, ",") (pointer_expression "&uStack_2020" (& "&") (identifier "uStack_2020")) () ")"))) (; ";")) (expression_statement "uVar12 = FUN_00234220();" (assignment_expression "uVar12 = FUN_00234220()" (identifier "uVar12") (= "=") (call_expression "FUN_00234220()" (identifier "FUN_00234220") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12);" (call_expression "FormatLocaleString(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12)" (identifier "FormatLocaleString") (argument_list "(local_1020,0x1000,\n                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:\n                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,\n                           "https:\n        DestroyString(uVar12)" (( "(") (identifier "local_1020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http:" (" """) (string_content "<?xpacket begin=") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " id=") (escape_sequence "\"") (string_content "W5M0MpCehiHzreSzNTczkc9d") (escape_sequence "\"") (string_content "?>") (escape_sequence "\n") (string_content "<x:xmpmeta xmlns:x=") (escape_sequence "\"") (string_content "adobe:ns:meta/") (escape_sequence "\"") (string_content " x:xmptk=") (escape_sequence "\"") (string_content "Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23") (escape_sequence "\"") (string_content ">") (escape_sequence "\n") (string_content "   <rdf:RDF xmlns:rdf=") (escape_sequence "\"") (string_content "http:") (" "")) (, ",") (pointer_expression "&UNK_0030624c" (& "&") (identifier "UNK_0030624c")) (, ",") (identifier "auStack_3020") (, ",") (identifier "auStack_4020") (, ",") (pointer_expression "&uStack_2020" (& "&") (identifier "uStack_2020")) (, ",") (call_expression ""https:\n        DestroyString(uVar12)" (concatenated_string ""https:\n        DestroyString" (string_literal ""https:" (" """) (string_content "https:") (" "")) (identifier "DestroyString")) (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) () ""))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" (identifier "WriteBlobString") (argument_list "(param_2,local_5020)" (( "(") (identifier "param_2") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,"/Type /Metadata\n");" (call_expression "WriteBlobString(param_2,"/Type /Metadata\n")" (identifier "WriteBlobString") (argument_list "(param_2,"/Type /Metadata\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""/Type /Metadata\n"" (" """) (string_content "/Type /Metadata") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,">>\nstream\n");" (call_expression "WriteBlobString(param_2,">>\nstream\n")" (identifier "WriteBlobString") (argument_list "(param_2,">>\nstream\n")" (( "(") (identifier "param_2") (, ",") (string_literal "">>\nstream\n"" (" """) (string_content ">>") (escape_sequence "\n") (string_content "stream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,local_1020);" (call_expression "WriteBlobString(param_2,local_1020)" (identifier "WriteBlobString") (argument_list "(param_2,local_1020)" (( "(") (identifier "param_2") (, ",") (identifier "local_1020") () ")"))) (; ";")) (expression_statement "iVar27 = 0x10;" (assignment_expression "iVar27 = 0x10" (identifier "iVar27") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "WriteBlobString(param_2,"\nendstream\n");" (call_expression "WriteBlobString(param_2,"\nendstream\n")" (identifier "WriteBlobString") (argument_list "(param_2,"\nendstream\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""\nendstream\n"" (" """) (escape_sequence "\n") (string_content "endstream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "iVar7 = 0x12;" (assignment_expression "iVar7 = 0x12" (identifier "iVar7") (= "=") (number_literal "0x12")) (; ";")) (expression_statement "WriteBlobString(param_2,"endobj\n");" (call_expression "WriteBlobString(param_2,"endobj\n")" (identifier "WriteBlobString") (argument_list "(param_2,"endobj\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "local_61f4 = 3;" (assignment_expression "local_61f4 = 3" (identifier "local_61f4") (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else {\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }" (else "else") (compound_statement "{\n        iVar7 = 0x11;\n        iVar27 = 8;\n        local_61f4 = 2;\n      }" ({ "{") (expression_statement "iVar7 = 0x11;" (assignment_expression "iVar7 = 0x11" (identifier "iVar7") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "iVar27 = 8;" (assignment_expression "iVar27 = 8" (identifier "iVar27") (= "=") (number_literal "8")) (; ";")) (expression_statement "local_61f4 = 2;" (assignment_expression "local_61f4 = 2" (identifier "local_61f4") (= "=") (number_literal "2")) (; ";")) (} "}")))) (expression_statement "uVar33 = TellBlob(param_2);" (assignment_expression "uVar33 = TellBlob(param_2)" (identifier "uVar33") (= "=") (call_expression "TellBlob(param_2)" (identifier "TellBlob") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(iVar27 + (int)local_6200) = uVar33;" (assignment_expression "*(undefined8 *)(iVar27 + (int)local_6200) = uVar33" (pointer_expression "*(undefined8 *)(iVar27 + (int)local_6200)" (* "*") (cast_expression "(undefined8 *)(iVar27 + (int)local_6200)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + (int)local_6200)" (( "(") (binary_expression "iVar27 + (int)local_6200" (identifier "iVar27") (+ "+") (cast_expression "(int)local_6200" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6200"))) () ")")))) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" (identifier "WriteBlobString") (argument_list "(param_2,local_5020)" (( "(") (identifier "param_2") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,"<<\n");" (call_expression "WriteBlobString(param_2,"<<\n")" (identifier "WriteBlobString") (argument_list "(param_2,"<<\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""<<\n"" (" """) (string_content "<<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,"/Type /Pages\n");" (call_expression "WriteBlobString(param_2,"/Type /Pages\n")" (identifier "WriteBlobString") (argument_list "(param_2,"/Type /Pages\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""/Type /Pages\n"" (" """) (string_content "/Type /Pages") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" (identifier "WriteBlobString") (argument_list "(param_2,local_5020)" (( "(") (identifier "param_2") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "piVar8 = param_2;" (assignment_expression "piVar8 = param_2" (identifier "piVar8") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (param_1[3] == 0) {\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }" (if "if") (parenthesized_expression "(param_1[3] == 0)" (( "(") (binary_expression "param_1[3] == 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00234b1f:\n        WriteBlobString(param_2,"]\n");\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        WriteBlobString(param_2,">>\n");\n        WriteBlobString(param_2,"endobj\n");\n        GetImageListLength(param_2);\n        pcVar19 = "stream\n";\n        local_6224 = param_2;\n        do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );\n      }" ({ "{") (labeled_statement "LAB_00234b1f:\n        WriteBlobString(param_2,"]\n");" (statement_identifier "LAB_00234b1f") (: ":") (expression_statement "WriteBlobString(param_2,"]\n");" (call_expression "WriteBlobString(param_2,"]\n")" (identifier "WriteBlobString") (argument_list "(param_2,"]\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""]\n"" (" """) (string_content "]") (escape_sequence "\n") (" """)) () ")"))) (; ";"))) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" (identifier "WriteBlobString") (argument_list "(param_2,local_5020)" (( "(") (identifier "param_2") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,">>\n");" (call_expression "WriteBlobString(param_2,">>\n")" (identifier "WriteBlobString") (argument_list "(param_2,">>\n")" (( "(") (identifier "param_2") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,"endobj\n");" (call_expression "WriteBlobString(param_2,"endobj\n")" (identifier "WriteBlobString") (argument_list "(param_2,"endobj\n")" (( "(") (identifier "param_2") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "GetImageListLength(param_2);" (call_expression "GetImageListLength(param_2)" (identifier "GetImageListLength") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))) (; ";")) (expression_statement "pcVar19 = "stream\n";" (assignment_expression "pcVar19 = "stream\n"" (identifier "pcVar19") (= "=") (string_literal ""stream\n"" (" """) (string_content "stream") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "local_6224 = param_2;" (assignment_expression "local_6224 = param_2" (identifier "local_6224") (= "=") (identifier "param_2")) (; ";")) (do_statement "do {\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        } while( true );" (do "do") (compound_statement "{\n          piVar31 = local_6224;\n          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);\n          local_61a4 = *param_1;\n          if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }\n          local_61a8 = (uint *)(local_61a4 - 7);\n          local_61b8 = local_61a4;\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }\n          local_61b4 = *(double *)(local_6224 + 0x7c);\n          local_61cc = *(double *)(local_6224 + 0x7e);\n          if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }\n          if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }\n          SetGeometry(local_6224,&local_60a4);\n          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);\n          FormatLocaleString();\n          if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }\n          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);\n          ParseMetaGeometry();\n          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));\n          local_60a4 = local_60cc;\n          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;\n          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);\n          local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;\n          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));\n          local_60a0 = local_60cc;\n          ParseAbsoluteGeometry(local_1020,local_6094);\n          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);\n          if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }\n          local_61e4 = *(double *)(param_1 + 0x16);\n          if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }\n          GetImageProperty(local_6224,"label",param_3);\n          uVar33 = TellBlob(local_6224);\n          local_61c4 = (ulonglong)(local_61f4 + 1);\n          local_6200[local_61f4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /Page\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"/Resources <<\n");\n          piVar25 = (int *)0x0;\n          iVar27 = GetImageProperty(local_6224,"label",param_3);\n          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }\n          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);\n          dVar36 = (double)DAT_0029f120;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020,uVar12);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,&DAT_003059cb);\n          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }\n          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,&DAT_00305a25);\n          TellBlob(local_6224);\n          WriteBlobString(local_6224,"\nendstream\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224," ]\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }\n          WriteBlobString(local_6224,">>\n");\n          WriteBlobString(local_6224,"endobj\n");\n          uVar33 = TellBlob(local_6224);\n          local_6200[local_61f4 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,"<<\n");\n          WriteBlobString(local_6224,"/Type /XObject\n");\n          WriteBlobString(local_6224,"/Subtype /Image\n");\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\ncode_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          local_61cc._0_4_ = 8;\nLAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(local_6224,local_5020);\n          if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }\n          FormatLocaleString();\n          WriteBlobString(local_6224,local_5020);\n          WriteBlobString(local_6224,">>\n");\n          pcVar34 = pcVar19;\n          WriteBlobString(local_6224,"stream\n");\n          TellBlob(local_6224);\n          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);\n          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }\n          if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }\nLAB_00238a00:\n          iVar27 = LocaleCompare("0","0");\n          if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }\nLAB_002361b2:\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 6] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar10 = local_61f4 + 8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[local_61f4 + 7] = uVar33;\n          local_61c4 = (ulonglong)uVar10;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          local_620c = "endobj\n";\n          if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }\n          WriteBlobString(piVar31,"endobj\n",dVar36);\n          SetGeometry(piVar31,&local_60a4);\n          ParseMetaGeometry();\n          uVar12 = GetImageOption(param_1,"pdf:thumbnail");\n          iVar7 = IsStringTrue(uVar12);\n          if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }\n          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);\n          if (puVar13 == (uint *)0x0) goto LAB_002345f8;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }\n          pcVar16 = "/Filter [ /%s ]\n";\n          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n          dVar36 = (double)CONCAT44(pcVar34,pcVar16);\ncode_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          pcVar34 = "/BitsPerComponent %d\n";\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,">>\n");\n          pcVar16 = pcVar19;\n          WriteBlobString(piVar31,"stream\n");\n          TellBlob(piVar31);\n          if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }\n          iVar7 = puVar13[7] * puVar13[6];\n          if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }\n          switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }\n          iVar27 = InjectImageBlob();\n          if (iVar27 == 0) goto LAB_0023707e;\nLAB_00236939:\n          DestroyImage(puVar13);\n          TellBlob(piVar31);\n          WriteBlobString(piVar31,"\nendstream\n");\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 1] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 2] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 3] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 4] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"<<\n");\n          if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }\n          WriteBlobString(piVar31,">>\n");\nLAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");\n          local_61f4 = uVar10 + 6;\n          uVar33 = TellBlob(piVar31);\n          local_6200[uVar10 + 5] = uVar33;\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          FormatLocaleString();\n          WriteBlobString(piVar31,local_5020);\n          WriteBlobString(piVar31,"endobj\n");\n          iVar7 = GetNextImageInList(piVar31);\n          local_6224 = piVar31;\n          if (iVar7 == 0) goto LAB_00239247;\n          local_6224 = (int *)SyncNextImageInList(piVar31);\n          local_620c = (char *)0x0;\n          iVar7 = SetImageProgress();\n          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;\n        }" ({ "{") (expression_statement "piVar31 = local_6224;" (assignment_expression "piVar31 = local_6224" (identifier "piVar31") (= "=") (identifier "local_6224")) (; ";")) (expression_statement "iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);" (assignment_expression "iVar7 = GetImageProfile(local_6224,&DAT_002a81ca)" (identifier "iVar7") (= "=") (call_expression "GetImageProfile(local_6224,&DAT_002a81ca)" (identifier "GetImageProfile") (argument_list "(local_6224,&DAT_002a81ca)" (( "(") (identifier "local_6224") (, ",") (pointer_expression "&DAT_002a81ca" (& "&") (identifier "DAT_002a81ca")) () ")")))) (; ";")) (expression_statement "local_61a4 = *param_1;" (assignment_expression "local_61a4 = *param_1" (identifier "local_61a4") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (if_statement "if (*param_1 == 0) {\n            local_61a4 = local_6224[2];\n          }" (if "if") (parenthesized_expression "(*param_1 == 0)" (( "(") (binary_expression "*param_1 == 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_61a4 = local_6224[2];\n          }" ({ "{") (expression_statement "local_61a4 = local_6224[2];" (assignment_expression "local_61a4 = local_6224[2]" (identifier "local_61a4") (= "=") (subscript_expression "local_6224[2]" (identifier "local_6224") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_61a8 = (uint *)(local_61a4 - 7);" (assignment_expression "local_61a8 = (uint *)(local_61a4 - 7)" (identifier "local_61a8") (= "=") (cast_expression "(uint *)(local_61a4 - 7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_61a4 - 7)" (( "(") (binary_expression "local_61a4 - 7" (identifier "local_61a4") (- "-") (number_literal "7")) () ")")))) (; ";")) (expression_statement "local_61b8 = local_61a4;" (assignment_expression "local_61b8 = local_61a4" (identifier "local_61b8") (= "=") (identifier "local_61a4")) (; ";")) (switch_statement "switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }" (switch "switch") (parenthesized_expression "(local_61a8)" (( "(") (identifier "local_61a8") () ")")) (compound_statement "{\n          case (uint *)0x0:\n          case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;\n          default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;\n          case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;\n          case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;\n          case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;\n          case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;\n          case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;\n          }" ({ "{") (case_statement "case (uint *)0x0:" (case "case") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (: ":")) (case_statement "case (uint *)0x1:\n            iVar27 = SetImageMonochrome(local_6224,param_3);\n            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;\n            goto code_r0x00234e0c;" (case "case") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (: ":") (expression_statement "iVar27 = SetImageMonochrome(local_6224,param_3);" (assignment_expression "iVar27 = SetImageMonochrome(local_6224,param_3)" (identifier "iVar27") (= "=") (call_expression "SetImageMonochrome(local_6224,param_3)" (identifier "SetImageMonochrome") (argument_list "(local_6224,param_3)" (( "(") (identifier "local_6224") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;" (if "if") (parenthesized_expression "((iVar27 != 0) && (local_6224[0xa5] == 0))" (( "(") (binary_expression "(iVar27 != 0) && (local_6224[0xa5] == 0)" (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_6224[0xa5] == 0)" (( "(") (binary_expression "local_6224[0xa5] == 0" (subscript_expression "local_6224[0xa5]" (identifier "local_6224") ([ "[") (number_literal "0xa5") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_00235d0d;" (goto "goto") (statement_identifier "LAB_00235d0d") (; ";"))) (goto_statement "goto code_r0x00234e0c;" (goto "goto") (statement_identifier "code_r0x00234e0c") (; ";"))) (case_statement "default:\nLAB_00235d0d:\n            local_61a4 = (uint)local_61a8;\n            break;" (default "default") (: ":") (labeled_statement "LAB_00235d0d:\n            local_61a4 = (uint)local_61a8;" (statement_identifier "LAB_00235d0d") (: ":") (expression_statement "local_61a4 = (uint)local_61a8;" (assignment_expression "local_61a4 = (uint)local_61a8" (identifier "local_61a4") (= "=") (cast_expression "(uint)local_61a8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_61a8"))) (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0x4:\n            pcVar34 = &UNK_00305907;\n            goto code_r0x00234df2;" (case "case") (cast_expression "(uint *)0x4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4")) (: ":") (expression_statement "pcVar34 = &UNK_00305907;" (assignment_expression "pcVar34 = &UNK_00305907" (identifier "pcVar34") (= "=") (pointer_expression "&UNK_00305907" (& "&") (identifier "UNK_00305907"))) (; ";")) (goto_statement "goto code_r0x00234df2;" (goto "goto") (statement_identifier "code_r0x00234df2") (; ";"))) (case_statement "case (uint *)0x5:\n            pcVar34 = "`%s\' (JPEG)";\n            ThrowMagickException();\n            local_61a8 = (uint *)0xc;\n            local_61b8 = 0x13;\n            break;" (case "case") (cast_expression "(uint *)0x5" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5")) (: ":") (expression_statement "pcVar34 = "`%s\' (JPEG)";" (assignment_expression "pcVar34 = "`%s\' (JPEG)"" (identifier "pcVar34") (= "=") (string_literal ""`%s\' (JPEG)"" (" """) (string_content "`%s") (escape_sequence "\'") (string_content " (JPEG)") (" """))) (; ";")) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" (identifier "ThrowMagickException") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_61a8 = (uint *)0xc;" (assignment_expression "local_61a8 = (uint *)0xc" (identifier "local_61a8") (= "=") (cast_expression "(uint *)0xc" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xc"))) (; ";")) (expression_statement "local_61b8 = 0x13;" (assignment_expression "local_61b8 = 0x13" (identifier "local_61b8") (= "=") (number_literal "0x13")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0x8:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 8;\n            break;" (case "case") (cast_expression "(uint *)0x8" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8")) (: ":") (expression_statement "iVar27 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar27 = LocaleCompare(puVar9,&DAT_002a2413)" (identifier "iVar27") (= "=") (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" (identifier "LocaleCompare") (argument_list "(puVar9,&DAT_002a2413)" (( "(") (identifier "puVar9") (, ",") (pointer_expression "&DAT_002a2413" (& "&") (identifier "DAT_002a2413")) () ")")))) (; ";")) (if_statement "if (iVar27 == 0) goto code_r0x00234e0c;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00234e0c;" (goto "goto") (statement_identifier "code_r0x00234e0c") (; ";"))) (expression_statement "local_61a4 = 8;" (assignment_expression "local_61a4 = 8" (identifier "local_61a4") (= "=") (number_literal "8")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0x9:\n            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);\n            if (iVar27 == 0) goto code_r0x00234e0c;\n            local_61a4 = 9;\n            break;" (case "case") (cast_expression "(uint *)0x9" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x9")) (: ":") (expression_statement "iVar27 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar27 = LocaleCompare(puVar9,&DAT_002a2413)" (identifier "iVar27") (= "=") (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" (identifier "LocaleCompare") (argument_list "(puVar9,&DAT_002a2413)" (( "(") (identifier "puVar9") (, ",") (pointer_expression "&DAT_002a2413" (& "&") (identifier "DAT_002a2413")) () ")")))) (; ";")) (if_statement "if (iVar27 == 0) goto code_r0x00234e0c;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00234e0c;" (goto "goto") (statement_identifier "code_r0x00234e0c") (; ";"))) (expression_statement "local_61a4 = 9;" (assignment_expression "local_61a4 = 9" (identifier "local_61a4") (= "=") (number_literal "9")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0xd:\n            pcVar34 = "`%s\' (ZLIB)";\ncode_r0x00234df2:\n            ThrowMagickException();\ncode_r0x00234e0c:\n            local_61a4 = 0xc;\n            local_61b8 = 0x13;\n            local_61a8 = (uint *)0xc;" (case "case") (cast_expression "(uint *)0xd" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xd")) (: ":") (expression_statement "pcVar34 = "`%s\' (ZLIB)";" (assignment_expression "pcVar34 = "`%s\' (ZLIB)"" (identifier "pcVar34") (= "=") (string_literal ""`%s\' (ZLIB)"" (" """) (string_content "`%s") (escape_sequence "\'") (string_content " (ZLIB)") (" """))) (; ";")) (labeled_statement "code_r0x00234df2:\n            ThrowMagickException();" (statement_identifier "code_r0x00234df2") (: ":") (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" (identifier "ThrowMagickException") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "code_r0x00234e0c:\n            local_61a4 = 0xc;" (statement_identifier "code_r0x00234e0c") (: ":") (expression_statement "local_61a4 = 0xc;" (assignment_expression "local_61a4 = 0xc" (identifier "local_61a4") (= "=") (number_literal "0xc")) (; ";"))) (expression_statement "local_61b8 = 0x13;" (assignment_expression "local_61b8 = 0x13" (identifier "local_61b8") (= "=") (number_literal "0x13")) (; ";")) (expression_statement "local_61a8 = (uint *)0xc;" (assignment_expression "local_61a8 = (uint *)0xc" (identifier "local_61a8") (= "=") (cast_expression "(uint *)0xc" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xc"))) (; ";"))) (} "}"))) (expression_statement "local_61b4 = *(double *)(local_6224 + 0x7c);" (assignment_expression "local_61b4 = *(double *)(local_6224 + 0x7c)" (identifier "local_61b4") (= "=") (pointer_expression "*(double *)(local_6224 + 0x7c)" (* "*") (cast_expression "(double *)(local_6224 + 0x7c)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_6224 + 0x7c)" (( "(") (binary_expression "local_6224 + 0x7c" (identifier "local_6224") (+ "+") (number_literal "0x7c")) () ")"))))) (; ";")) (expression_statement "local_61cc = *(double *)(local_6224 + 0x7e);" (assignment_expression "local_61cc = *(double *)(local_6224 + 0x7e)" (identifier "local_61cc") (= "=") (pointer_expression "*(double *)(local_6224 + 0x7e)" (* "*") (cast_expression "(double *)(local_6224 + 0x7e)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_6224 + 0x7e)" (( "(") (binary_expression "local_6224 + 0x7e" (identifier "local_6224") (+ "+") (number_literal "0x7e")) () ")"))))) (; ";")) (if_statement "if (local_61cc == 0.0) {\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }\n          else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }" (if "if") (parenthesized_expression "(local_61cc == 0.0)" (( "(") (binary_expression "local_61cc == 0.0" (identifier "local_61cc") (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\nLAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }" ({ "{") (labeled_statement "LAB_00234e74:\n            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);" (statement_identifier "LAB_00234e74") (: ":") (expression_statement "uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);" (assignment_expression "uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34)" (identifier "uVar10") (= "=") (call_expression "ParseGeometry("72.0x72.0",&local_6074,pcVar34)" (identifier "ParseGeometry") (argument_list "("72.0x72.0",&local_6074,pcVar34)" (( "(") (string_literal ""72.0x72.0"" (" """) (string_content "72.0x72.0") (" """)) (, ",") (pointer_expression "&local_6074" (& "&") (identifier "local_6074")) (, ",") (identifier "pcVar34") () ")")))) (; ";"))) (expression_statement "local_61b4 = local_6074;" (assignment_expression "local_61b4 = local_6074" (identifier "local_61b4") (= "=") (identifier "local_6074")) (; ";")) (expression_statement "local_61cc = local_6074;" (assignment_expression "local_61cc = local_6074" (identifier "local_61cc") (= "=") (identifier "local_6074")) (; ";")) (if_statement "if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }" (if "if") (parenthesized_expression "((uVar10 & 8) != 0)" (( "(") (binary_expression "(uVar10 & 8) != 0" (parenthesized_expression "(uVar10 & 8)" (( "(") (binary_expression "uVar10 & 8" (identifier "uVar10") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              local_61cc = local_606c;\n            }" ({ "{") (expression_statement "local_61cc = local_606c;" (assignment_expression "local_61cc = local_606c" (identifier "local_61cc") (= "=") (identifier "local_606c")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }" (else "else") (compound_statement "{\n            bVar32 = local_61cc == 0.0;\n            if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }\n            if (bVar32) goto LAB_00234e74;\n          }" ({ "{") (expression_statement "bVar32 = local_61cc == 0.0;" (assignment_expression "bVar32 = local_61cc == 0.0" (identifier "bVar32") (= "=") (binary_expression "local_61cc == 0.0" (identifier "local_61cc") (== "==") (number_literal "0.0"))) (; ";")) (if_statement "if (local_61b4 == 0.0) {\n              bVar32 = !NAN(local_61b4);\n            }" (if "if") (parenthesized_expression "(local_61b4 == 0.0)" (( "(") (binary_expression "local_61b4 == 0.0" (identifier "local_61b4") (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n              bVar32 = !NAN(local_61b4);\n            }" ({ "{") (expression_statement "bVar32 = !NAN(local_61b4);" (assignment_expression "bVar32 = !NAN(local_61b4)" (identifier "bVar32") (= "=") (unary_expression "!NAN(local_61b4)" (! "!") (call_expression "NAN(local_61b4)" (identifier "NAN") (argument_list "(local_61b4)" (( "(") (identifier "local_61b4") () ")"))))) (; ";")) (} "}"))) (if_statement "if (bVar32) goto LAB_00234e74;" (if "if") (parenthesized_expression "(bVar32)" (( "(") (identifier "bVar32") () ")")) (goto_statement "goto LAB_00234e74;" (goto "goto") (statement_identifier "LAB_00234e74") (; ";"))) (} "}")))) (if_statement "if (param_1[0x15] != 0) {\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }" (if "if") (parenthesized_expression "(param_1[0x15] != 0)" (( "(") (binary_expression "param_1[0x15] != 0" (subscript_expression "param_1[0x15]" (identifier "param_1") ([ "[") (number_literal "0x15") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);\n            local_61b4 = local_6074;\n            local_61cc = local_6074;\n            if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }\n          }" ({ "{") (expression_statement "uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);" (assignment_expression "uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34)" (identifier "uVar10") (= "=") (call_expression "ParseGeometry(param_1[0x15],&local_6074,pcVar34)" (identifier "ParseGeometry") (argument_list "(param_1[0x15],&local_6074,pcVar34)" (( "(") (subscript_expression "param_1[0x15]" (identifier "param_1") ([ "[") (number_literal "0x15") (] "]")) (, ",") (pointer_expression "&local_6074" (& "&") (identifier "local_6074")) (, ",") (identifier "pcVar34") () ")")))) (; ";")) (expression_statement "local_61b4 = local_6074;" (assignment_expression "local_61b4 = local_6074" (identifier "local_61b4") (= "=") (identifier "local_6074")) (; ";")) (expression_statement "local_61cc = local_6074;" (assignment_expression "local_61cc = local_6074" (identifier "local_61cc") (= "=") (identifier "local_6074")) (; ";")) (if_statement "if ((uVar10 & 8) != 0) {\n              local_61cc = local_606c;\n            }" (if "if") (parenthesized_expression "((uVar10 & 8) != 0)" (( "(") (binary_expression "(uVar10 & 8) != 0" (parenthesized_expression "(uVar10 & 8)" (( "(") (binary_expression "uVar10 & 8" (identifier "uVar10") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              local_61cc = local_606c;\n            }" ({ "{") (expression_statement "local_61cc = local_606c;" (assignment_expression "local_61cc = local_606c" (identifier "local_61cc") (= "=") (identifier "local_606c")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_6224[0x77] == 2) {\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }" (if "if") (parenthesized_expression "(local_6224[0x77] == 2)" (( "(") (binary_expression "local_6224[0x77] == 2" (subscript_expression "local_6224[0x77]" (identifier "local_6224") ([ "[") (number_literal "0x77") (] "]")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n            local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);\n          }" ({ "{") (expression_statement "local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);" (assignment_expression "local_61b4 = (double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" (identifier "local_61b4") (= "=") (cast_expression "(double)((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" (( "(") (binary_expression "(float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c" (cast_expression "(float)((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff)" (( "(") (binary_expression "(longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &\n                                         0xffffffff" (cast_expression "(longlong)\n                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124)" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (call_expression "ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124)" (identifier "ROUND") (argument_list "((float)local_61b4 * DAT_002b7d18 + DAT_0029f124)" (( "(") (binary_expression "(float)local_61b4 * DAT_002b7d18 + DAT_0029f124" (binary_expression "(float)local_61b4 * DAT_002b7d18" (cast_expression "(float)local_61b4" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_61b4")) (* "*") (identifier "DAT_002b7d18")) (+ "+") (identifier "DAT_0029f124")) () ")")))) (& "&") (number_literal "0xffffffff")) () ")"))) (/ "/") (identifier "DAT_0029f71c")) () ")")))) (; ";")) (expression_statement "local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c);" (assignment_expression "local_61cc = (double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" (identifier "local_61cc") (= "=") (cast_expression "(double)((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c)" (( "(") (binary_expression "(float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff) / DAT_0029f71c" (cast_expression "(float)((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff)" (( "(") (binary_expression "(longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &\n                                         0xffffffff" (cast_expression "(longlong)\n                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124)" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (call_expression "ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124)" (identifier "ROUND") (argument_list "(DAT_002b7d18 * (float)local_61cc + DAT_0029f124)" (( "(") (binary_expression "DAT_002b7d18 * (float)local_61cc + DAT_0029f124" (binary_expression "DAT_002b7d18 * (float)local_61cc" (identifier "DAT_002b7d18") (* "*") (cast_expression "(float)local_61cc" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_61cc"))) (+ "+") (identifier "DAT_0029f124")) () ")")))) (& "&") (number_literal "0xffffffff")) () ")"))) (/ "/") (identifier "DAT_0029f71c")) () ")")))) (; ";")) (} "}"))) (expression_statement "SetGeometry(local_6224,&local_60a4);" (call_expression "SetGeometry(local_6224,&local_60a4)" (identifier "SetGeometry") (argument_list "(local_6224,&local_60a4)" (( "(") (identifier "local_6224") (, ",") (pointer_expression "&local_60a4" (& "&") (identifier "local_60a4")) () ")"))) (; ";")) (expression_statement "uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20)" (identifier "uVar12") (= "=") (call_expression "(undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)(double)(uint)local_6224[7] >> 0x20)" (( "(") (binary_expression "(ulonglong)(double)(uint)local_6224[7] >> 0x20" (cast_expression "(ulonglong)(double)(uint)local_6224[7]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(double)(uint)local_6224[7]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(uint)local_6224[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]"))))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (param_1[8] == 0) {\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }\n          else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }" (if "if") (parenthesized_expression "(param_1[8] == 0)" (( "(") (binary_expression "param_1[8] == 0" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }\n          }" ({ "{") (if_statement "if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }\n            else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }" (if "if") (parenthesized_expression "((local_6224[0x80] == 0) || (local_6224[0x81] == 0))" (( "(") (binary_expression "(local_6224[0x80] == 0) || (local_6224[0x81] == 0)" (parenthesized_expression "(local_6224[0x80] == 0)" (( "(") (binary_expression "local_6224[0x80] == 0" (subscript_expression "local_6224[0x80]" (identifier "local_6224") ([ "[") (number_literal "0x80") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_6224[0x81] == 0)" (( "(") (binary_expression "local_6224[0x81] == 0" (subscript_expression "local_6224[0x81]" (identifier "local_6224") ([ "[") (number_literal "0x81") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }\n            }" ({ "{") (if_statement "if ((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }" (if "if") (parenthesized_expression "((local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0))" (( "(") (binary_expression "(local_6224[0x8e] != 0) &&\n                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)" (parenthesized_expression "(local_6224[0x8e] != 0)" (( "(") (binary_expression "local_6224[0x8e] != 0" (subscript_expression "local_6224[0x8e]" (identifier "local_6224") ([ "[") (number_literal "0x8e") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)" (( "(") (comma_expression "iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0" (assignment_expression "iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12)" (identifier "iVar27") (= "=") (call_expression "LocaleCompare(puVar9,&DAT_002a240f,uVar12)" (identifier "LocaleCompare") (argument_list "(puVar9,&DAT_002a240f,uVar12)" (( "(") (identifier "puVar9") (, ",") (pointer_expression "&DAT_002a240f" (& "&") (identifier "DAT_002a240f")) (, ",") (identifier "uVar12") () ")")))) (, ",") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                CopyMagickString(local_1020,"612x792",0x1000);\n              }" ({ "{") (expression_statement "CopyMagickString(local_1020,"612x792",0x1000);" (call_expression "CopyMagickString(local_1020,"612x792",0x1000)" (identifier "CopyMagickString") (argument_list "(local_1020,"612x792",0x1000)" (( "(") (identifier "local_1020") (, ",") (string_literal ""612x792"" (" """) (string_content "612x792") (" """)) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }" (else "else") (compound_statement "{\n              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);\n            }" ({ "{") (expression_statement "FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83]);" (call_expression "FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83])" (identifier "FormatLocaleString") (argument_list "(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",\n                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],\n                                 (double)local_6224[0x82],(double)local_6224[0x83])" (( "(") (identifier "local_1020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""%.20gx%.20g%+.20g%+.20g"" (" """) (string_content "%.20gx%.20g%+.20g%+.20g") (" """)) (, ",") (cast_expression "(double)(uint)local_6224[0x80]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(uint)local_6224[0x80]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_6224[0x80]" (identifier "local_6224") ([ "[") (number_literal "0x80") (] "]")))) (, ",") (cast_expression "(double)(uint)local_6224[0x81]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(uint)local_6224[0x81]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_6224[0x81]" (identifier "local_6224") ([ "[") (number_literal "0x81") (] "]")))) (, ",") (cast_expression "(double)local_6224[0x82]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (subscript_expression "local_6224[0x82]" (identifier "local_6224") ([ "[") (number_literal "0x82") (] "]"))) (, ",") (cast_expression "(double)local_6224[0x83]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (subscript_expression "local_6224[0x83]" (identifier "local_6224") ([ "[") (number_literal "0x83") (] "]"))) () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }" (else "else") (compound_statement "{\n            CopyMagickString(local_1020,param_1[8],0x1000);\n          }" ({ "{") (expression_statement "CopyMagickString(local_1020,param_1[8],0x1000);" (call_expression "CopyMagickString(local_1020,param_1[8],0x1000)" (identifier "CopyMagickString") (argument_list "(local_1020,param_1[8],0x1000)" (( "(") (identifier "local_1020") (, ",") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}")))) (expression_statement "ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);" (call_expression "ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000)" (identifier "ConcatenateMagickString") (argument_list "(local_1020,&DAT_002cb6d1,0x1000)" (( "(") (identifier "local_1020") (, ",") (pointer_expression "&DAT_002cb6d1" (& "&") (identifier "DAT_002cb6d1")) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "ParseMetaGeometry();" (call_expression "ParseMetaGeometry()" (identifier "ParseMetaGeometry") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;" (assignment_expression "fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4" (identifier "fVar2") (= "=") (binary_expression "((float)local_60a4 * DAT_0029f120) / (float)local_61b4" (parenthesized_expression "((float)local_60a4 * DAT_0029f120)" (( "(") (binary_expression "(float)local_60a4 * DAT_0029f120" (cast_expression "(float)local_60a4" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_60a4")) (* "*") (identifier "DAT_0029f120")) () ")")) (/ "/") (cast_expression "(float)local_61b4" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_61b4")))) (; ";")) (expression_statement "local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));" (assignment_expression "local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124))" (identifier "local_60cc") (= "=") (cast_expression "(uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(longlong)ROUND(ROUND(fVar2 + DAT_0029f124))" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (call_expression "ROUND(ROUND(fVar2 + DAT_0029f124))" (identifier "ROUND") (argument_list "(ROUND(fVar2 + DAT_0029f124))" (( "(") (call_expression "ROUND(fVar2 + DAT_0029f124)" (identifier "ROUND") (argument_list "(fVar2 + DAT_0029f124)" (( "(") (binary_expression "fVar2 + DAT_0029f124" (identifier "fVar2") (+ "+") (identifier "DAT_0029f124")) () ")"))) () ")")))))) (; ";")) (expression_statement "local_60a4 = local_60cc;" (assignment_expression "local_60a4 = local_60cc" (identifier "local_60a4") (= "=") (identifier "local_60cc")) (; ";")) (expression_statement "fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;" (assignment_expression "fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc" (identifier "fVar1") (= "=") (binary_expression "((float)local_60a0 * DAT_0029f120) / (float)local_61cc" (parenthesized_expression "((float)local_60a0 * DAT_0029f120)" (( "(") (binary_expression "(float)local_60a0 * DAT_0029f120" (cast_expression "(float)local_60a0" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_60a0")) (* "*") (identifier "DAT_0029f120")) () ")")) (/ "/") (cast_expression "(float)local_61cc" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_61cc")))) (; ";")) (expression_statement "local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);" (assignment_expression "local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord)" (identifier "local_60a8") (= "=") (call_expression "CONCAT22(local_60a8._2_2_,in_FPUControlWord)" (identifier "CONCAT22") (argument_list "(local_60a8._2_2_,in_FPUControlWord)" (( "(") (field_expression "local_60a8._2_2_" (identifier "local_60a8") (. ".") (field_identifier "_2_2_")) (, ",") (identifier "in_FPUControlWord") () ")")))) (; ";")) (expression_statement "local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400;" (assignment_expression "local_604c.tm_sec =\n               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400" (field_expression "local_604c.tm_sec" (identifier "local_604c") (. ".") (field_identifier "tm_sec")) (= "=") (binary_expression "CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |\n               0x400" (binary_expression "CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff" (call_expression "CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord)" (identifier "CONCAT22") (argument_list "((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord)" (( "(") (cast_expression "(short)((uint)local_604c.tm_sec >> 0x10)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (parenthesized_expression "((uint)local_604c.tm_sec >> 0x10)" (( "(") (binary_expression "(uint)local_604c.tm_sec >> 0x10" (cast_expression "(uint)local_604c.tm_sec" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_604c.tm_sec" (identifier "local_604c") (. ".") (field_identifier "tm_sec"))) (>> ">>") (number_literal "0x10")) () ")"))) (, ",") (identifier "in_FPUControlWord") () ")"))) (& "&") (number_literal "0xfffff3ff")) (| "|") (number_literal "0x400"))) (; ";")) (expression_statement "local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));" (assignment_expression "local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124))" (identifier "local_60cc") (= "=") (cast_expression "(uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(longlong)ROUND(ROUND(fVar1 + DAT_0029f124))" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (call_expression "ROUND(ROUND(fVar1 + DAT_0029f124))" (identifier "ROUND") (argument_list "(ROUND(fVar1 + DAT_0029f124))" (( "(") (call_expression "ROUND(fVar1 + DAT_0029f124)" (identifier "ROUND") (argument_list "(fVar1 + DAT_0029f124)" (( "(") (binary_expression "fVar1 + DAT_0029f124" (identifier "fVar1") (+ "+") (identifier "DAT_0029f124")) () ")"))) () ")")))))) (; ";")) (expression_statement "local_60a0 = local_60cc;" (assignment_expression "local_60a0 = local_60cc" (identifier "local_60a0") (= "=") (identifier "local_60cc")) (; ";")) (expression_statement "ParseAbsoluteGeometry(local_1020,local_6094);" (call_expression "ParseAbsoluteGeometry(local_1020,local_6094)" (identifier "ParseAbsoluteGeometry") (argument_list "(local_1020,local_6094)" (( "(") (identifier "local_1020") (, ",") (identifier "local_6094") () ")"))) (; ";")) (expression_statement "ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);" (call_expression "ParseGravityGeometry(local_6224,local_1020,local_6084,param_3)" (identifier "ParseGravityGeometry") (argument_list "(local_6224,local_1020,local_6084,param_3)" (( "(") (identifier "local_6224") (, ",") (identifier "local_1020") (, ",") (identifier "local_6084") (, ",") (identifier "param_3") () ")"))) (; ";")) (if_statement "if (local_6224[0x8e] != 0) {\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }" (if "if") (parenthesized_expression "(local_6224[0x8e] != 0)" (( "(") (binary_expression "local_6224[0x8e] != 0" (subscript_expression "local_6224[0x8e]" (identifier "local_6224") ([ "[") (number_literal "0x8e") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_609c = -local_607c;\n            local_6098 = (local_6078 + local_6090) - local_6224[7];\n          }" ({ "{") (expression_statement "local_609c = -local_607c;" (assignment_expression "local_609c = -local_607c" (identifier "local_609c") (= "=") (unary_expression "-local_607c" (- "-") (identifier "local_607c"))) (; ";")) (expression_statement "local_6098 = (local_6078 + local_6090) - local_6224[7];" (assignment_expression "local_6098 = (local_6078 + local_6090) - local_6224[7]" (identifier "local_6098") (= "=") (binary_expression "(local_6078 + local_6090) - local_6224[7]" (parenthesized_expression "(local_6078 + local_6090)" (( "(") (binary_expression "local_6078 + local_6090" (identifier "local_6078") (+ "+") (identifier "local_6090")) () ")")) (- "-") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]")))) (; ";")) (} "}"))) (expression_statement "local_61e4 = *(double *)(param_1 + 0x16);" (assignment_expression "local_61e4 = *(double *)(param_1 + 0x16)" (identifier "local_61e4") (= "=") (pointer_expression "*(double *)(param_1 + 0x16)" (* "*") (cast_expression "(double *)(param_1 + 0x16)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x16)" (( "(") (binary_expression "param_1 + 0x16" (identifier "param_1") (+ "+") (number_literal "0x16")) () ")"))))) (; ";")) (if_statement "if (local_61e4 == 0.0) {\n            local_61e4 = (double)DAT_002b1d90;\n          }" (if "if") (parenthesized_expression "(local_61e4 == 0.0)" (( "(") (binary_expression "local_61e4 == 0.0" (identifier "local_61e4") (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n            local_61e4 = (double)DAT_002b1d90;\n          }" ({ "{") (expression_statement "local_61e4 = (double)DAT_002b1d90;" (assignment_expression "local_61e4 = (double)DAT_002b1d90" (identifier "local_61e4") (= "=") (cast_expression "(double)DAT_002b1d90" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002b1d90"))) (; ";")) (} "}"))) (expression_statement "GetImageProperty(local_6224,"label",param_3);" (call_expression "GetImageProperty(local_6224,"label",param_3)" (identifier "GetImageProperty") (argument_list "(local_6224,"label",param_3)" (( "(") (identifier "local_6224") (, ",") (string_literal ""label"" (" """) (string_content "label") (" """)) (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" (identifier "uVar33") (= "=") (call_expression "TellBlob(local_6224)" (identifier "TellBlob") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")")))) (; ";")) (expression_statement "local_61c4 = (ulonglong)(local_61f4 + 1);" (assignment_expression "local_61c4 = (ulonglong)(local_61f4 + 1)" (identifier "local_61c4") (= "=") (call_expression "(ulonglong)(local_61f4 + 1)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(local_61f4 + 1)" (( "(") (binary_expression "local_61f4 + 1" (identifier "local_61f4") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_6200[local_61f4] = uVar33;" (assignment_expression "local_6200[local_61f4] = uVar33" (subscript_expression "local_6200[local_61f4]" (identifier "local_6200") ([ "[") (identifier "local_61f4") (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"<<\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""<<\n"" (" """) (string_content "<<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"/Type /Page\n");" (call_expression "WriteBlobString(local_6224,"/Type /Page\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"/Type /Page\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""/Type /Page\n"" (" """) (string_content "/Type /Page") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"/Resources <<\n");" (call_expression "WriteBlobString(local_6224,"/Resources <<\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"/Resources <<\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""/Resources <<\n"" (" """) (string_content "/Resources <<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "piVar25 = (int *)0x0;" (assignment_expression "piVar25 = (int *)0x0" (identifier "piVar25") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar27 = GetImageProperty(local_6224,"label",param_3);" (assignment_expression "iVar27 = GetImageProperty(local_6224,"label",param_3)" (identifier "iVar27") (= "=") (call_expression "GetImageProperty(local_6224,"label",param_3)" (identifier "GetImageProperty") (argument_list "(local_6224,"label",param_3)" (( "(") (identifier "local_6224") (, ",") (string_literal ""label"" (" """) (string_content "label") (" """)) (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }" (if "if") (parenthesized_expression "((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0))" (( "(") (binary_expression "(iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)" (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)" (( "(") (comma_expression "piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0" (assignment_expression "piVar25 = (int *)StringToList(iVar27)" (identifier "piVar25") (= "=") (cast_expression "(int *)StringToList(iVar27)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "StringToList(iVar27)" (identifier "StringToList") (argument_list "(iVar27)" (( "(") (identifier "iVar27") () ")"))))) (, ",") (binary_expression "piVar25 != (int *)0x0" (identifier "piVar25") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020,uVar12);\n          }" ({ "{") (expression_statement "uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20)" (identifier "uVar12") (= "=") (call_expression "(undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20)" (( "(") (binary_expression "(ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20" (call_expression "(ulonglong)((double)local_61c4 + (double)DAT_002a9b80)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "((double)local_61c4 + (double)DAT_002a9b80)" (( "(") (binary_expression "(double)local_61c4 + (double)DAT_002a9b80" (cast_expression "(double)local_61c4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_61c4")) (+ "+") (cast_expression "(double)DAT_002a9b80" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a9b80"))) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020,uVar12)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") (, ",") (identifier "uVar12") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20)" (identifier "uVar12") (= "=") (call_expression "(undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20)" (( "(") (binary_expression "(ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20" (call_expression "(ulonglong)((double)local_61c4 + (double)DAT_002a9bb0)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "((double)local_61c4 + (double)DAT_002a9bb0)" (( "(") (binary_expression "(double)local_61c4 + (double)DAT_002a9bb0" (cast_expression "(double)local_61c4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_61c4")) (+ "+") (cast_expression "(double)DAT_002a9bb0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a9bb0"))) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020,uVar12)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20);" (assignment_expression "uVar12 = (undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20)" (identifier "uVar12") (= "=") (call_expression "(undefined4)\n                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20)" (( "(") (binary_expression "(ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>\n                   0x20" (call_expression "(ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc)" (call_expression "(ulonglong)(double)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(double)" (( "(") (identifier "double") () ")"))) (argument_list "(((float)local_6090 * DAT_0029f120) / (float)local_61cc)" (( "(") (binary_expression "((float)local_6090 * DAT_0029f120) / (float)local_61cc" (parenthesized_expression "((float)local_6090 * DAT_0029f120)" (( "(") (binary_expression "(float)local_6090 * DAT_0029f120" (cast_expression "(float)local_6090" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_6090")) (* "*") (identifier "DAT_0029f120")) () ")")) (/ "/") (cast_expression "(float)local_61cc" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_61cc"))) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "dVar36 = (double)DAT_0029f120;" (assignment_expression "dVar36 = (double)DAT_0029f120" (identifier "dVar36") (= "=") (cast_expression "(double)DAT_0029f120" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f120"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020,uVar12)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20)" (identifier "uVar12") (= "=") (call_expression "(undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20)" (( "(") (binary_expression "(ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20" (call_expression "(ulonglong)(((double)local_6090 * dVar36) / local_61cc)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(((double)local_6090 * dVar36) / local_61cc)" (( "(") (binary_expression "((double)local_6090 * dVar36) / local_61cc" (parenthesized_expression "((double)local_6090 * dVar36)" (( "(") (binary_expression "(double)local_6090 * dVar36" (cast_expression "(double)local_6090" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_6090")) (* "*") (identifier "dVar36")) () ")")) (/ "/") (identifier "local_61cc")) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020,uVar12)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" (identifier "WriteBlobString") (argument_list "(local_6224,">>\n")" (( "(") (identifier "local_6224") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"endobj\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" (identifier "uVar33") (= "=") (call_expression "TellBlob(local_6224)" (identifier "TellBlob") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")")))) (; ";")) (expression_statement "local_6200[local_61f4 + 1] = uVar33;" (assignment_expression "local_6200[local_61f4 + 1] = uVar33" (subscript_expression "local_6200[local_61f4 + 1]" (identifier "local_6200") ([ "[") (binary_expression "local_61f4 + 1" (identifier "local_61f4") (+ "+") (number_literal "1")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"<<\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""<<\n"" (" """) (string_content "<<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" (identifier "WriteBlobString") (argument_list "(local_6224,">>\n")" (( "(") (identifier "local_6224") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"stream\n");" (call_expression "WriteBlobString(local_6224,"stream\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"stream\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""stream\n"" (" """) (string_content "stream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "TellBlob(local_6224);" (call_expression "TellBlob(local_6224)" (identifier "TellBlob") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,&DAT_003059cb);" (call_expression "WriteBlobString(local_6224,&DAT_003059cb)" (identifier "WriteBlobString") (argument_list "(local_6224,&DAT_003059cb)" (( "(") (identifier "local_6224") (, ",") (pointer_expression "&DAT_003059cb" (& "&") (identifier "DAT_003059cb")) () ")"))) (; ";")) (if_statement "if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }" (if "if") (parenthesized_expression "((piVar25 != (int *)0x0) && (*piVar25 != 0))" (( "(") (binary_expression "(piVar25 != (int *)0x0) && (*piVar25 != 0)" (parenthesized_expression "(piVar25 != (int *)0x0)" (( "(") (binary_expression "piVar25 != (int *)0x0" (identifier "piVar25") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*piVar25 != 0)" (( "(") (binary_expression "*piVar25 != 0" (pointer_expression "*piVar25" (* "*") (identifier "piVar25")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            iVar27 = 0;\n            do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);\n          }" ({ "{") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            } while (piVar25[iVar27] != 0);" (do "do") (compound_statement "{\n              WriteBlobString(local_6224,&DAT_003059ce);\n              uVar12 = local_61e4._4_4_;\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);\n              uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);\n              FormatLocaleString();\n              WriteBlobString(local_6224,local_5020,uVar12);\n              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);\n              WriteBlobString(local_6224,local_5020);\n              WriteBlobString(local_6224,&DAT_003059fa);\n              iVar11 = DestroyString(piVar25[iVar27]);\n              piVar25[iVar27] = iVar11;\n              iVar27 = iVar27 + 1;\n            }" ({ "{") (expression_statement "WriteBlobString(local_6224,&DAT_003059ce);" (call_expression "WriteBlobString(local_6224,&DAT_003059ce)" (identifier "WriteBlobString") (argument_list "(local_6224,&DAT_003059ce)" (( "(") (identifier "local_6224") (, ",") (pointer_expression "&DAT_003059ce" (& "&") (identifier "DAT_003059ce")) () ")"))) (; ";")) (expression_statement "uVar12 = local_61e4._4_4_;" (assignment_expression "uVar12 = local_61e4._4_4_" (identifier "uVar12") (= "=") (field_expression "local_61e4._4_4_" (identifier "local_61e4") (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020,uVar12)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "local_61cc = (double)(ulonglong)(local_60a0 + local_6098);" (assignment_expression "local_61cc = (double)(ulonglong)(local_60a0 + local_6098)" (identifier "local_61cc") (= "=") (cast_expression "(double)(ulonglong)(local_60a0 + local_6098)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(ulonglong)(local_60a0 + local_6098)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(local_60a0 + local_6098)" (( "(") (binary_expression "local_60a0 + local_6098" (identifier "local_60a0") (+ "+") (identifier "local_6098")) () ")"))))) (; ";")) (expression_statement "uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20);" (assignment_expression "uVar12 = (undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20)" (identifier "uVar12") (= "=") (call_expression "(undefined4)\n                       ((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20)" (( "(") (binary_expression "(ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90) >> 0x20" (call_expression "(ulonglong)\n                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90)" (( "(") (binary_expression "(double)iVar27 * local_61e4 + (double)(longlong)local_61cc +\n                        (double)DAT_002b1d90" (binary_expression "(double)iVar27 * local_61e4 + (double)(longlong)local_61cc" (binary_expression "(double)iVar27 * local_61e4" (cast_expression "(double)iVar27" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar27")) (* "*") (identifier "local_61e4")) (+ "+") (cast_expression "(double)(longlong)local_61cc" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(longlong)local_61cc" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "local_61cc")))) (+ "+") (cast_expression "(double)DAT_002b1d90" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002b1d90"))) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020,uVar12);" (call_expression "WriteBlobString(local_6224,local_5020,uVar12)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020,uVar12)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);" (call_expression "FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27])" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27])" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""(%s) Tj\n"" (" """) (string_content "(%s) Tj") (escape_sequence "\n") (" """)) (, ",") (subscript_expression "piVar25[iVar27]" (identifier "piVar25") ([ "[") (identifier "iVar27") (] "]")) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,&DAT_003059fa);" (call_expression "WriteBlobString(local_6224,&DAT_003059fa)" (identifier "WriteBlobString") (argument_list "(local_6224,&DAT_003059fa)" (( "(") (identifier "local_6224") (, ",") (pointer_expression "&DAT_003059fa" (& "&") (identifier "DAT_003059fa")) () ")"))) (; ";")) (expression_statement "iVar11 = DestroyString(piVar25[iVar27]);" (assignment_expression "iVar11 = DestroyString(piVar25[iVar27])" (identifier "iVar11") (= "=") (call_expression "DestroyString(piVar25[iVar27])" (identifier "DestroyString") (argument_list "(piVar25[iVar27])" (( "(") (subscript_expression "piVar25[iVar27]" (identifier "piVar25") ([ "[") (identifier "iVar27") (] "]")) () ")")))) (; ";")) (expression_statement "piVar25[iVar27] = iVar11;" (assignment_expression "piVar25[iVar27] = iVar11" (subscript_expression "piVar25[iVar27]" (identifier "piVar25") ([ "[") (identifier "iVar27") (] "]")) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar25[iVar27] != 0)" (( "(") (binary_expression "piVar25[iVar27] != 0" (subscript_expression "piVar25[iVar27]" (identifier "piVar25") ([ "[") (identifier "iVar27") (] "]")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098);" (call_expression "FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,\n                             (double)fVar1,(double)local_609c,(double)local_6098)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""%g 0 0 %g %.20g %.20g cm\n"" (" """) (string_content "%g 0 0 %g %.20g %.20g cm") (escape_sequence "\n") (" """)) (, ",") (cast_expression "(double)fVar2" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar2")) (, ",") (cast_expression "(double)fVar1" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar1")) (, ",") (cast_expression "(double)local_609c" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_609c")) (, ",") (cast_expression "(double)local_6098" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_6098")) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,&DAT_00305a25);" (call_expression "WriteBlobString(local_6224,&DAT_00305a25)" (identifier "WriteBlobString") (argument_list "(local_6224,&DAT_00305a25)" (( "(") (identifier "local_6224") (, ",") (pointer_expression "&DAT_00305a25" (& "&") (identifier "DAT_00305a25")) () ")"))) (; ";")) (expression_statement "TellBlob(local_6224);" (call_expression "TellBlob(local_6224)" (identifier "TellBlob") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"\nendstream\n");" (call_expression "WriteBlobString(local_6224,"\nendstream\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"\nendstream\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""\nendstream\n"" (" """) (escape_sequence "\n") (string_content "endstream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"endobj\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" (identifier "uVar33") (= "=") (call_expression "TellBlob(local_6224)" (identifier "TellBlob") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")")))) (; ";")) (expression_statement "local_6200[local_61f4 + 2] = uVar33;" (assignment_expression "local_6200[local_61f4 + 2] = uVar33" (subscript_expression "local_6200[local_61f4 + 2]" (identifier "local_6200") ([ "[") (binary_expression "local_61f4 + 2" (identifier "local_61f4") (+ "+") (number_literal "2")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"endobj\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" (identifier "uVar33") (= "=") (call_expression "TellBlob(local_6224)" (identifier "TellBlob") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")")))) (; ";")) (expression_statement "local_6200[local_61f4 + 3] = uVar33;" (assignment_expression "local_6200[local_61f4 + 3] = uVar33" (subscript_expression "local_6200[local_61f4 + 3]" (identifier "local_6200") ([ "[") (binary_expression "local_61f4 + 3" (identifier "local_61f4") (+ "+") (number_literal "3")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (if_statement "if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }\n          else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" (if "if") (parenthesized_expression "((*local_6224 == 1) || (0x100 < (uint)local_6224[9]))" (( "(") (binary_expression "(*local_6224 == 1) || (0x100 < (uint)local_6224[9])" (parenthesized_expression "(*local_6224 == 1)" (( "(") (binary_expression "*local_6224 == 1" (pointer_expression "*local_6224" (* "*") (identifier "local_6224")) (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(0x100 < (uint)local_6224[9])" (( "(") (binary_expression "0x100 < (uint)local_6224[9]" (number_literal "0x100") (< "<") (cast_expression "(uint)local_6224[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_6224[9]" (identifier "local_6224") ([ "[") (number_literal "9") (] "]")))) () ")"))) () ")")) (compound_statement "{\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);\n          }" ({ "{") (expression_statement "CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);" (call_expression "CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000)" (identifier "CopyMagickString") (argument_list "(local_5020,"[ /PDF /Text /ImageC",0x1000)" (( "(") (identifier "local_5020") (, ",") (string_literal ""[ /PDF /Text /ImageC"" (" """) (string_content "[ /PDF /Text /ImageC") (" """)) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}")) (else_clause "else if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" (else "else") (if_statement "if (local_61a4 < 2) {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }\n          else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" (if "if") (parenthesized_expression "(local_61a4 < 2)" (( "(") (binary_expression "local_61a4 < 2" (identifier "local_61a4") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);\n          }" ({ "{") (expression_statement "CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);" (call_expression "CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000)" (identifier "CopyMagickString") (argument_list "(local_5020,"[ /PDF /Text /ImageB",0x1000)" (( "(") (identifier "local_5020") (, ",") (string_literal ""[ /PDF /Text /ImageB"" (" """) (string_content "[ /PDF /Text /ImageB") (" """)) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" (else "else") (compound_statement "{\n            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);\n          }" ({ "{") (expression_statement "CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);" (call_expression "CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000)" (identifier "CopyMagickString") (argument_list "(local_5020,"[ /PDF /Text /ImageI",0x1000)" (( "(") (identifier "local_5020") (, ",") (string_literal ""[ /PDF /Text /ImageI"" (" """) (string_content "[ /PDF /Text /ImageI") (" """)) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}")))))) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224," ]\n");" (call_expression "WriteBlobString(local_6224," ]\n")" (identifier "WriteBlobString") (argument_list "(local_6224," ]\n")" (( "(") (identifier "local_6224") (, ",") (string_literal "" ]\n"" (" """) (string_content " ]") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"endobj\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" (identifier "uVar33") (= "=") (call_expression "TellBlob(local_6224)" (identifier "TellBlob") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")")))) (; ";")) (expression_statement "local_6200[local_61f4 + 4] = uVar33;" (assignment_expression "local_6200[local_61f4 + 4] = uVar33" (subscript_expression "local_6200[local_61f4 + 4]" (identifier "local_6200") ([ "[") (binary_expression "local_61f4 + 4" (identifier "local_61f4") (+ "+") (number_literal "4")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"<<\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""<<\n"" (" """) (string_content "<<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (if_statement "if (piVar25 != (int *)0x0) {\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }" (if "if") (parenthesized_expression "(piVar25 != (int *)0x0)" (( "(") (binary_expression "piVar25 != (int *)0x0" (identifier "piVar25") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            WriteBlobString(local_6224,"/Type /Font\n");\n            WriteBlobString(local_6224,"/Subtype /Type1\n");\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");\n            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");\n            RelinquishMagickMemory(piVar25);\n          }" ({ "{") (expression_statement "WriteBlobString(local_6224,"/Type /Font\n");" (call_expression "WriteBlobString(local_6224,"/Type /Font\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"/Type /Font\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""/Type /Font\n"" (" """) (string_content "/Type /Font") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"/Subtype /Type1\n");" (call_expression "WriteBlobString(local_6224,"/Subtype /Type1\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"/Subtype /Type1\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""/Subtype /Type1\n"" (" """) (string_content "/Subtype /Type1") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"/BaseFont /Helvetica\n");" (call_expression "WriteBlobString(local_6224,"/BaseFont /Helvetica\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"/BaseFont /Helvetica\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""/BaseFont /Helvetica\n"" (" """) (string_content "/BaseFont /Helvetica") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");" (call_expression "WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"/Encoding /MacRomanEncoding\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""/Encoding /MacRomanEncoding\n"" (" """) (string_content "/Encoding /MacRomanEncoding") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "RelinquishMagickMemory(piVar25);" (call_expression "RelinquishMagickMemory(piVar25)" (identifier "RelinquishMagickMemory") (argument_list "(piVar25)" (( "(") (identifier "piVar25") () ")"))) (; ";")) (} "}"))) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" (identifier "WriteBlobString") (argument_list "(local_6224,">>\n")" (( "(") (identifier "local_6224") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"endobj\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar33 = TellBlob(local_6224);" (assignment_expression "uVar33 = TellBlob(local_6224)" (identifier "uVar33") (= "=") (call_expression "TellBlob(local_6224)" (identifier "TellBlob") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")")))) (; ";")) (expression_statement "local_6200[local_61f4 + 5] = uVar33;" (assignment_expression "local_6200[local_61f4 + 5] = uVar33" (subscript_expression "local_6200[local_61f4 + 5]" (identifier "local_6200") ([ "[") (binary_expression "local_61f4 + 5" (identifier "local_61f4") (+ "+") (number_literal "5")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"<<\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""<<\n"" (" """) (string_content "<<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"/Type /XObject\n");" (call_expression "WriteBlobString(local_6224,"/Type /XObject\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"/Type /XObject\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""/Type /XObject\n"" (" """) (string_content "/Type /XObject") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"/Subtype /Image\n");" (call_expression "WriteBlobString(local_6224,"/Subtype /Image\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"/Subtype /Image\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""/Subtype /Image\n"" (" """) (string_content "/Subtype /Image") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (switch_statement "switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }" (switch "switch") (parenthesized_expression "(local_61a8)" (( "(") (identifier "local_61a8") () ")")) (compound_statement "{\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;\n          default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }" ({ "{") (case_statement "case (uint *)0x0:" (case "case") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (: ":")) (case_statement "case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(local_6224,local_5020);\n            local_61cc = (double)(ulonglong)(uint)local_6224[7];\n            dVar36 = (double)(longlong)local_61cc;\n            FormatLocaleString();\n            goto LAB_0023602b;" (case "case") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (: ":") (expression_statement "CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);" (call_expression "CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" (identifier "CopyMagickString") (argument_list "(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" (( "(") (identifier "local_5020") (, ",") (string_literal ""/Filter [ /CCITTFaxDecode ]\n"" (" """) (string_content "/Filter [ /CCITTFaxDecode ]") (escape_sequence "\n") (" """)) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "local_61cc = (double)(ulonglong)(uint)local_6224[7];" (assignment_expression "local_61cc = (double)(ulonglong)(uint)local_6224[7]" (identifier "local_61cc") (= "=") (cast_expression "(double)(ulonglong)(uint)local_6224[7]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(ulonglong)(uint)local_6224[7]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)local_6224[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]")))))) (; ";")) (expression_statement "dVar36 = (double)(longlong)local_61cc;" (assignment_expression "dVar36 = (double)(longlong)local_61cc" (identifier "dVar36") (= "=") (cast_expression "(double)(longlong)local_61cc" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(longlong)local_61cc" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "local_61cc")))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0023602b;" (goto "goto") (statement_identifier "LAB_0023602b") (; ";"))) (case_statement "default:\n            pcVar34 = "RunLengthDecode";\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\nLAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;\n            goto LAB_00235dee;" (default "default") (: ":") (expression_statement "pcVar34 = "RunLengthDecode";" (assignment_expression "pcVar34 = "RunLengthDecode"" (identifier "pcVar34") (= "=") (string_literal ""RunLengthDecode"" (" """) (string_content "RunLengthDecode") (" """))) (; ";")) (expression_statement "pcVar16 = "/Filter [ /%s ]\n";" (assignment_expression "pcVar16 = "/Filter [ /%s ]\n"" (identifier "pcVar16") (= "=") (string_literal ""/Filter [ /%s ]\n"" (" """) (string_content "/Filter [ /%s ]") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode")" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode")" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/Filter [ /%s ]\n"" (" """) (string_content "/Filter [ /%s ]") (escape_sequence "\n") (" """)) (, ",") (string_literal ""RunLengthDecode"" (" """) (string_content "RunLengthDecode") (" """)) () ")"))) (; ";")) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,pcVar16);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,pcVar16)" (identifier "dVar36") (= "=") (cast_expression "(double)CONCAT44(pcVar34,pcVar16)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(pcVar34,pcVar16)" (identifier "CONCAT44") (argument_list "(pcVar34,pcVar16)" (( "(") (identifier "pcVar34") (, ",") (identifier "pcVar16") () ")"))))) (; ";")) (labeled_statement "LAB_0023602b:\n            WriteBlobString(local_6224,local_5020,dVar36);" (statement_identifier "LAB_0023602b") (: ":") (expression_statement "WriteBlobString(local_6224,local_5020,dVar36);" (call_expression "WriteBlobString(local_6224,local_5020,dVar36)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020,dVar36)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") (, ",") (identifier "dVar36") () ")"))) (; ";"))) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;" (assignment_expression "local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8" (field_expression "local_61cc._0_4_" (identifier "local_61cc") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "(-(uint)(local_61a4 < 2) & 0xfffffff9) + 8" (parenthesized_expression "(-(uint)(local_61a4 < 2) & 0xfffffff9)" (( "(") (binary_expression "-(uint)(local_61a4 < 2) & 0xfffffff9" (unary_expression "-(uint)(local_61a4 < 2)" (- "-") (call_expression "(uint)(local_61a4 < 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_61a4 < 2)" (( "(") (binary_expression "local_61a4 < 2" (identifier "local_61a4") (< "<") (number_literal "2")) () ")")))) (& "&") (number_literal "0xfffffff9")) () ")")) (+ "+") (number_literal "8"))) (; ";")) (goto_statement "goto LAB_00235dee;" (goto "goto") (statement_identifier "LAB_00235dee") (; ";"))) (case_statement "case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00235f5e;" (case "case") (cast_expression "(uint *)0x4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4")) (: ":") (expression_statement "pcVar34 = "JPXDecode";" (assignment_expression "pcVar34 = "JPXDecode"" (identifier "pcVar34") (= "=") (string_literal ""JPXDecode"" (" """) (string_content "JPXDecode") (" """))) (; ";")) (goto_statement "goto code_r0x00235f5e;" (goto "goto") (statement_identifier "code_r0x00235f5e") (; ";"))) (case_statement "case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }\n            goto code_r0x00235d3f;" (case "case") (cast_expression "(uint *)0x5" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5")) (: ":") (expression_statement "pcVar34 = "DCTDecode";" (assignment_expression "pcVar34 = "DCTDecode"" (identifier "pcVar34") (= "=") (string_literal ""DCTDecode"" (" """) (string_content "DCTDecode") (" """))) (; ";")) (labeled_statement "code_r0x00235f5e:\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (statement_identifier "code_r0x00235f5e") (: ":") (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/Filter [ /%s ]\n"" (" """) (string_content "/Filter [ /%s ]") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar34") () ")"))) (; ";"))) (if_statement "if (local_6224[1] == 2) {\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }" (if "if") (parenthesized_expression "(local_6224[1] == 2)" (( "(") (binary_expression "local_6224[1] == 2" (subscript_expression "local_6224[1]" (identifier "local_6224") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              WriteBlobString(local_6224,local_5020);\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n            }" ({ "{") (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);" (call_expression "CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" (identifier "CopyMagickString") (argument_list "(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" (( "(") (identifier "local_5020") (, ",") (string_literal ""/Decode [1 0 1 0 1 0 1 0]\n"" (" """) (string_content "/Decode [1 0 1 0 1 0 1 0]") (escape_sequence "\n") (" """)) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}"))) (goto_statement "goto code_r0x00235d3f;" (goto "goto") (statement_identifier "code_r0x00235d3f") (; ";"))) (case_statement "case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;" (case "case") (cast_expression "(uint *)0x8" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8")) (: ":") (expression_statement "pcVar34 = "LZWDecode";" (assignment_expression "pcVar34 = "LZWDecode"" (identifier "pcVar34") (= "=") (string_literal ""LZWDecode"" (" """) (string_content "LZWDecode") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;" (case "case") (cast_expression "(uint *)0x9" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x9")) (: ":") (expression_statement "pcVar34 = "ASCII85Decode";" (assignment_expression "pcVar34 = "ASCII85Decode"" (identifier "pcVar34") (= "=") (string_literal ""ASCII85Decode"" (" """) (string_content "ASCII85Decode") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0xd:\n            pcVar34 = "FlateDecode";" (case "case") (cast_expression "(uint *)0xd" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xd")) (: ":") (expression_statement "pcVar34 = "FlateDecode";" (assignment_expression "pcVar34 = "FlateDecode"" (identifier "pcVar34") (= "=") (string_literal ""FlateDecode"" (" """) (string_content "FlateDecode") (" """))) (; ";"))) (} "}"))) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/Filter [ /%s ]\n"" (" """) (string_content "/Filter [ /%s ]") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar34") () ")"))) (; ";")) (labeled_statement "code_r0x00235d3f:\n          WriteBlobString(local_6224,local_5020);" (statement_identifier "code_r0x00235d3f") (: ":") (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";"))) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "local_61cc._0_4_ = 8;" (assignment_expression "local_61cc._0_4_ = 8" (field_expression "local_61cc._0_4_" (identifier "local_61cc") (. ".") (field_identifier "_0_4_")) (= "=") (number_literal "8")) (; ";")) (labeled_statement "LAB_00235dee:\n          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (statement_identifier "LAB_00235dee") (: ":") (expression_statement "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (call_expression "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/BitsPerComponent %d\n"" (" """) (string_content "/BitsPerComponent %d") (escape_sequence "\n") (" """)) (, ",") (field_expression "local_61cc._0_4_" (identifier "local_61cc") (. ".") (field_identifier "_0_4_")) () ")"))) (; ";"))) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (if_statement "if (local_6224[0xa5] != 0) {\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }" (if "if") (parenthesized_expression "(local_6224[0xa5] != 0)" (( "(") (binary_expression "local_6224[0xa5] != 0" (subscript_expression "local_6224[0xa5]" (identifier "local_6224") ([ "[") (number_literal "0xa5") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            FormatLocaleString();\n            WriteBlobString(local_6224,local_5020);\n          }" ({ "{") (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (} "}"))) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" (identifier "WriteBlobString") (argument_list "(local_6224,">>\n")" (( "(") (identifier "local_6224") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "pcVar34 = pcVar19;" (assignment_expression "pcVar34 = pcVar19" (identifier "pcVar34") (= "=") (identifier "pcVar19")) (; ";")) (expression_statement "WriteBlobString(local_6224,"stream\n");" (call_expression "WriteBlobString(local_6224,"stream\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"stream\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""stream\n"" (" """) (string_content "stream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "TellBlob(local_6224);" (call_expression "TellBlob(local_6224)" (identifier "TellBlob") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")"))) (; ";")) (expression_statement "uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);" (assignment_expression "uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6])" (identifier "uVar10") (= "=") (call_expression "(uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6])" (( "(") (binary_expression "(ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]" (cast_expression "(ulonglong)(uint)local_6224[7]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)local_6224[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]")))) (* "*") (cast_expression "(ulonglong)(uint)local_6224[6]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)local_6224[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_6224[6]" (identifier "local_6224") ([ "[") (number_literal "6") (] "]"))))) () ")")))) (; ";")) (if_statement "if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0) {\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }" (if "if") (parenthesized_expression "(((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0)" (( "(") (binary_expression "((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0 || uVar10 >> 0x1e != 0" (binary_expression "((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)\n              != 0" (parenthesized_expression "((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)" (( "(") (binary_expression "(ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000" (binary_expression "(ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]" (cast_expression "(ulonglong)(uint)local_6224[7]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)local_6224[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]")))) (* "*") (cast_expression "(ulonglong)(uint)local_6224[6]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)local_6224[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_6224[6]" (identifier "local_6224") ([ "[") (number_literal "6") (] "]"))))) (& "&") (number_literal "0x3fffffff00000000")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uVar10 >> 0x1e != 0" (binary_expression "uVar10 >> 0x1e" (identifier "uVar10") (>> ">>") (number_literal "0x1e")) (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n            RelinquishMagickMemory(local_6200);\n            piVar25 = local_6224 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }\n            goto LAB_00239234;\n          }" ({ "{") (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" (identifier "RelinquishMagickMemory") (argument_list "(local_6200)" (( "(") (identifier "local_6200") () ")"))) (; ";")) (expression_statement "piVar25 = local_6224 + 0xc6;" (assignment_expression "piVar25 = local_6224 + 0xc6" (identifier "piVar25") (= "=") (binary_expression "local_6224 + 0xc6" (identifier "local_6224") (+ "+") (number_literal "0xc6"))) (; ";")) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" (identifier "pcVar34") (= "=") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" (identifier "pcVar19") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" (identifier "ThrowMagickException") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" (identifier "piVar8") (= "=") (cast_expression "(int *)param_1[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (while_statement "while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }" (while "while") (parenthesized_expression "(piVar5 = local_6224, piVar8 != (int *)0x0)" (( "(") (comma_expression "piVar5 = local_6224, piVar8 != (int *)0x0" (assignment_expression "piVar5 = local_6224" (identifier "piVar5") (= "=") (identifier "local_6224")) (, ",") (binary_expression "piVar8 != (int *)0x0" (identifier "piVar8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n              piVar8 = (int *)piVar5[0xccf];\n              local_6224 = piVar8;\n              piVar31 = piVar5;\n            }" ({ "{") (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" (identifier "piVar8") (= "=") (cast_expression "(int *)piVar5[0xccf]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[0xccf]" (identifier "piVar5") ([ "[") (number_literal "0xccf") (] "]")))) (; ";")) (expression_statement "local_6224 = piVar8;" (assignment_expression "local_6224 = piVar8" (identifier "local_6224") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" (identifier "piVar31") (= "=") (identifier "piVar5")) (; ";")) (} "}"))) (goto_statement "goto LAB_00239234;" (goto "goto") (statement_identifier "LAB_00239234") (; ";")) (} "}"))) (if_statement "if (1 < local_61a4) {\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }" (if "if") (parenthesized_expression "(1 < local_61a4)" (( "(") (binary_expression "1 < local_61a4" (number_literal "1") (< "<") (identifier "local_61a4")) () ")")) (compound_statement "{\n            if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }\n            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\nLAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);\n            goto LAB_002361b2;\n          }" ({ "{") (if_statement "if ((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }" (if "if") (parenthesized_expression "((param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0))" (( "(") (binary_expression "(param_1[0x6e] != 6) &&\n               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)" (parenthesized_expression "(param_1[0x6e] != 6)" (( "(") (binary_expression "param_1[0x6e] != 6" (subscript_expression "param_1[0x6e]" (identifier "param_1") ([ "[") (number_literal "0x6e") (] "]")) (!= "!=") (number_literal "6")) () ")")) (&& "&&") (parenthesized_expression "(pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)" (( "(") (comma_expression "pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0" (assignment_expression "pcVar34 = param_3" (identifier "pcVar34") (= "=") (identifier "param_3")) (, ",") (comma_expression "iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0" (assignment_expression "iVar27 = SetImageGray(local_6224,param_3)" (identifier "iVar27") (= "=") (call_expression "SetImageGray(local_6224,param_3)" (identifier "SetImageGray") (argument_list "(local_6224,param_3)" (( "(") (identifier "local_6224") (, ",") (identifier "param_3") () ")")))) (, ",") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n              switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }\n              iVar27 = InjectImageBlob();\njoined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;\n              goto LAB_0023707e;\n            }" ({ "{") (switch_statement "switch(local_61a8) {\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }" (switch "switch") (parenthesized_expression "(local_61a8)" (( "(") (identifier "local_61a8") () ")")) (compound_statement "{\n              case (uint *)0x0:\n              case (uint *)0x1:\n                goto LAB_00238a00;\n              default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;\n              case (uint *)0x4:\nLAB_00236188:\n                break;\n              case (uint *)0x5:\nLAB_00236760:\n                break;\n              case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;\n              }" ({ "{") (case_statement "case (uint *)0x0:" (case "case") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (: ":")) (case_statement "case (uint *)0x1:\n                goto LAB_00238a00;" (case "case") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (: ":") (goto_statement "goto LAB_00238a00;" (goto "goto") (statement_identifier "LAB_00238a00") (; ";"))) (case_statement "default:\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                piVar8 = (int *)param_1[3];\n                while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }\n                goto LAB_00239234;" (default "default") (: ":") (expression_statement "local_6194 = AcquireVirtualMemory(uVar10,1);" (assignment_expression "local_6194 = AcquireVirtualMemory(uVar10,1)" (identifier "local_6194") (= "=") (call_expression "AcquireVirtualMemory(uVar10,1)" (identifier "AcquireVirtualMemory") (argument_list "(uVar10,1)" (( "(") (identifier "uVar10") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }" (if "if") (parenthesized_expression "(local_6194 != 0)" (( "(") (binary_expression "local_6194 != 0" (identifier "local_6194") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }\n                  goto LAB_00237039;\n                }" ({ "{") (expression_statement "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);" (assignment_expression "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194)" (identifier "puVar14") (= "=") (cast_expression "(undefined1 *)GetVirtualMemoryBlob(local_6194)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetVirtualMemoryBlob(local_6194)" (identifier "GetVirtualMemoryBlob") (argument_list "(local_6194)" (( "(") (identifier "local_6194") () ")"))))) (; ";")) (if_statement "if (0 < local_6224[7]) {\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }" (if "if") (parenthesized_expression "(0 < local_6224[7])" (( "(") (binary_expression "0 < local_6224[7]" (number_literal "0") (< "<") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]"))) () ")")) (compound_statement "{\n                    iVar27 = 0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);\n                  }" ({ "{") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar28 = puVar14;" (assignment_expression "puVar28 = puVar14" (identifier "puVar28") (= "=") (identifier "puVar14")) (; ";")) (do_statement "do {\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    } while (iVar27 < iVar11);" (do "do") (compound_statement "{\n                      iVar11 = GetVirtualPixels();\n                      if (iVar11 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }\n                      iVar11 = local_6224[7];\n                      if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }\n                      iVar27 = iVar27 + 1;\n                      puVar28 = puVar22;\n                    }" ({ "{") (expression_statement "iVar11 = GetVirtualPixels();" (assignment_expression "iVar11 = GetVirtualPixels()" (identifier "iVar11") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar24 = puVar28;" (assignment_expression "puVar24 = puVar28" (identifier "puVar24") (= "=") (identifier "puVar28")) (; ";")) (expression_statement "puVar22 = puVar28;" (assignment_expression "puVar22 = puVar28" (identifier "puVar22") (= "=") (identifier "puVar28")) (; ";")) (if_statement "if (0 < local_6224[6]) {\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }" (if "if") (parenthesized_expression "(0 < local_6224[6])" (( "(") (binary_expression "0 < local_6224[6]" (number_literal "0") (< "<") (subscript_expression "local_6224[6]" (identifier "local_6224") ([ "[") (number_literal "6") (] "]"))) () ")")) (compound_statement "{\n                        do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);\n                      }" ({ "{") (do_statement "do {\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);" (do "do") (compound_statement "{\n                          iVar15 = local_6224[0xaa];\n                          puVar22 = puVar24 + 1;\n                          uVar6 = 0;\n                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);\n                          if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }\n                          *puVar24 = uVar6;\n                          iVar11 = iVar11 + local_6224[0xa6] * 8;\n                          puVar24 = puVar22;\n                        }" ({ "{") (expression_statement "iVar15 = local_6224[0xaa];" (assignment_expression "iVar15 = local_6224[0xaa]" (identifier "iVar15") (= "=") (subscript_expression "local_6224[0xaa]" (identifier "local_6224") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "puVar22 = puVar24 + 1;" (assignment_expression "puVar22 = puVar24 + 1" (identifier "puVar22") (= "=") (binary_expression "puVar24 + 1" (identifier "puVar24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);" (assignment_expression "fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" (identifier "fVar1") (= "=") (binary_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +\n                                  DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" (binary_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404 +\n                                  DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" (binary_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *\n                                  DAT_002b2404" (cast_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8)" (* "*") (cast_expression "(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + *(int *)(iVar15 + 0x20) * 8)" (( "(") (binary_expression "iVar11 + *(int *)(iVar15 + 0x20) * 8" (identifier "iVar11") (+ "+") (binary_expression "*(int *)(iVar15 + 0x20) * 8" (pointer_expression "*(int *)(iVar15 + 0x20)" (* "*") (cast_expression "(int *)(iVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x20)" (( "(") (binary_expression "iVar15 + 0x20" (identifier "iVar15") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (* "*") (identifier "DAT_002b2404")) (+ "+") (binary_expression "DAT_002b23fc *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" (identifier "DAT_002b23fc") (* "*") (cast_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" (* "*") (cast_expression "(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + *(int *)(iVar15 + 0x14) * 8)" (( "(") (binary_expression "iVar11 + *(int *)(iVar15 + 0x14) * 8" (identifier "iVar11") (+ "+") (binary_expression "*(int *)(iVar15 + 0x14) * 8" (pointer_expression "*(int *)(iVar15 + 0x14)" (* "*") (cast_expression "(int *)(iVar15 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x14)" (( "(") (binary_expression "iVar15 + 0x14" (identifier "iVar15") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "8"))) () ")"))))))) (+ "+") (binary_expression "DAT_002b2400 *\n                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" (identifier "DAT_002b2400") (* "*") (cast_expression "(float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" (* "*") (cast_expression "(double *)(iVar11 + *(int *)(iVar15 + 8) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + *(int *)(iVar15 + 8) * 8)" (( "(") (binary_expression "iVar11 + *(int *)(iVar15 + 8) * 8" (identifier "iVar11") (+ "+") (binary_expression "*(int *)(iVar15 + 8) * 8" (pointer_expression "*(int *)(iVar15 + 8)" (* "*") (cast_expression "(int *)(iVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 8)" (( "(") (binary_expression "iVar15 + 8" (identifier "iVar15") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "8"))) () ")")))))))) (; ";")) (if_statement "if (0.0 < fVar1) {\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }" (if "if") (parenthesized_expression "(0.0 < fVar1)" (( "(") (binary_expression "0.0 < fVar1" (number_literal "0.0") (< "<") (identifier "fVar1")) () ")")) (compound_statement "{\n                            fVar1 = fVar1 / DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }\n                          }" ({ "{") (expression_statement "fVar1 = fVar1 / DAT_002a7ff0;" (assignment_expression "fVar1 = fVar1 / DAT_002a7ff0" (identifier "fVar1") (= "=") (binary_expression "fVar1 / DAT_002a7ff0" (identifier "fVar1") (/ "/") (identifier "DAT_002a7ff0"))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (fVar1 < DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }" (if "if") (parenthesized_expression "(fVar1 < DAT_002a7ff4)" (( "(") (binary_expression "fVar1 < DAT_002a7ff4" (identifier "fVar1") (< "<") (identifier "DAT_002a7ff4")) () ")")) (compound_statement "{\n                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);\n                            }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(fVar1 + DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(fVar1 + DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(fVar1 + DAT_0029f124)" (identifier "ROUND") (argument_list "(fVar1 + DAT_0029f124)" (( "(") (binary_expression "fVar1 + DAT_0029f124" (identifier "fVar1") (+ "+") (identifier "DAT_0029f124")) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*puVar24 = uVar6;" (assignment_expression "*puVar24 = uVar6" (pointer_expression "*puVar24" (* "*") (identifier "puVar24")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "iVar11 = iVar11 + local_6224[0xa6] * 8;" (assignment_expression "iVar11 = iVar11 + local_6224[0xa6] * 8" (identifier "iVar11") (= "=") (binary_expression "iVar11 + local_6224[0xa6] * 8" (identifier "iVar11") (+ "+") (binary_expression "local_6224[0xa6] * 8" (subscript_expression "local_6224[0xa6]" (identifier "local_6224") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (expression_statement "puVar24 = puVar22;" (assignment_expression "puVar24 = puVar22" (identifier "puVar24") (= "=") (identifier "puVar22")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)puVar22 - (int)puVar28 < local_6224[6])" (( "(") (binary_expression "(int)puVar22 - (int)puVar28 < local_6224[6]" (binary_expression "(int)puVar22 - (int)puVar28" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (- "-") (cast_expression "(int)puVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar28"))) (< "<") (subscript_expression "local_6224[6]" (identifier "local_6224") ([ "[") (number_literal "6") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar11 = local_6224[7];" (assignment_expression "iVar11 = local_6224[7]" (identifier "iVar11") (= "=") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (local_6224[0xccf] == 0) {\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }" (if "if") (parenthesized_expression "(local_6224[0xccf] == 0)" (( "(") (binary_expression "local_6224[0xccf] == 0" (subscript_expression "local_6224[0xccf]" (identifier "local_6224") ([ "[") (number_literal "0xccf") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        iVar11 = SetImageProgress();\n                        if (iVar11 == 0) break;\n                        iVar11 = local_6224[7];\n                      }" ({ "{") (expression_statement "iVar11 = SetImageProgress();" (assignment_expression "iVar11 = SetImageProgress()" (identifier "iVar11") (= "=") (call_expression "SetImageProgress()" (identifier "SetImageProgress") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = local_6224[7];" (assignment_expression "iVar11 = local_6224[7]" (identifier "iVar11") (= "=") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}"))) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar28 = puVar22;" (assignment_expression "puVar28 = puVar22" (identifier "puVar28") (= "=") (identifier "puVar22")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar27 < iVar11)" (( "(") (binary_expression "iVar27 < iVar11" (identifier "iVar27") (< "<") (identifier "iVar11")) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_00237039;" (goto "goto") (statement_identifier "LAB_00237039") (; ";")) (} "}"))) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" (identifier "RelinquishMagickMemory") (argument_list "(local_6200)" (( "(") (identifier "local_6200") () ")"))) (; ";")) (expression_statement "piVar25 = local_6224 + 0xc6;" (assignment_expression "piVar25 = local_6224 + 0xc6" (identifier "piVar25") (= "=") (binary_expression "local_6224 + 0xc6" (identifier "local_6224") (+ "+") (number_literal "0xc6"))) (; ";")) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" (identifier "pcVar34") (= "=") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" (identifier "pcVar19") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" (identifier "ThrowMagickException") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" (identifier "piVar8") (= "=") (cast_expression "(int *)param_1[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (while_statement "while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }" (while "while") (parenthesized_expression "(piVar5 = local_6224, piVar8 != (int *)0x0)" (( "(") (comma_expression "piVar5 = local_6224, piVar8 != (int *)0x0" (assignment_expression "piVar5 = local_6224" (identifier "piVar5") (= "=") (identifier "local_6224")) (, ",") (binary_expression "piVar8 != (int *)0x0" (identifier "piVar8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n                  piVar8 = (int *)piVar5[0xccf];\n                  local_6224 = piVar8;\n                  piVar31 = piVar5;\n                }" ({ "{") (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" (identifier "piVar8") (= "=") (cast_expression "(int *)piVar5[0xccf]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[0xccf]" (identifier "piVar5") ([ "[") (number_literal "0xccf") (] "]")))) (; ";")) (expression_statement "local_6224 = piVar8;" (assignment_expression "local_6224 = piVar8" (identifier "local_6224") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" (identifier "piVar31") (= "=") (identifier "piVar5")) (; ";")) (} "}"))) (goto_statement "goto LAB_00239234;" (goto "goto") (statement_identifier "LAB_00239234") (; ";"))) (case_statement "case (uint *)0x4:\nLAB_00236188:\n                break;" (case "case") (cast_expression "(uint *)0x4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4")) (: ":") (labeled_statement "LAB_00236188:\n                break;" (statement_identifier "LAB_00236188") (: ":") (break_statement "break;" (break "break") (; ";")))) (case_statement "case (uint *)0x5:\nLAB_00236760:\n                break;" (case "case") (cast_expression "(uint *)0x5" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5")) (: ":") (labeled_statement "LAB_00236760:\n                break;" (statement_identifier "LAB_00236760") (: ":") (break_statement "break;" (break "break") (; ";")))) (case_statement "case (uint *)0x9:\n                Ascii85Initialize(local_6224);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }\n                goto LAB_002368f4;" (case "case") (cast_expression "(uint *)0x9" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x9")) (: ":") (expression_statement "Ascii85Initialize(local_6224);" (call_expression "Ascii85Initialize(local_6224)" (identifier "Ascii85Initialize") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")"))) (; ";")) (if_statement "if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }" (if "if") (parenthesized_expression "(0 < local_6224[7])" (( "(") (binary_expression "0 < local_6224[7]" (number_literal "0") (< "<") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]"))) () ")")) (compound_statement "{\n                  local_6224 = (int *)0x0;\n                  do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);\n                }" ({ "{") (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" (identifier "local_6224") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar27);" (do "do") (compound_statement "{\n                    pcVar34 = param_3;\n                    iVar27 = GetVirtualPixels();\n                    if (iVar27 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }\n                    iVar27 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  }" ({ "{") (expression_statement "pcVar34 = param_3;" (assignment_expression "pcVar34 = param_3" (identifier "pcVar34") (= "=") (identifier "param_3")) (; ";")) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" (identifier "iVar27") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) break;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (0 < piVar31[6]) {\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }" (if "if") (parenthesized_expression "(0 < piVar31[6])" (( "(") (binary_expression "0 < piVar31[6]" (number_literal "0") (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (compound_statement "{\n                      iVar11 = 0;\n                      do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);\n                    }" ({ "{") (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      } while (iVar11 < piVar31[6]);" (do "do") (compound_statement "{\n                        iVar15 = piVar31[0xaa];\n                        pcVar34 = (char *)0x0;\n                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;\n                        if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }\n                        iVar11 = iVar11 + 1;\n                        Ascii85Encode(piVar31,pcVar34);\n                        iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      }" ({ "{") (expression_statement "iVar15 = piVar31[0xaa];" (assignment_expression "iVar15 = piVar31[0xaa]" (identifier "iVar15") (= "=") (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" (identifier "pcVar34") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)\n                        ;" (assignment_expression "fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" (identifier "fVar1") (= "=") (binary_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +\n                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" (binary_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404 +\n                                DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" (binary_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *\n                                DAT_002b2404" (cast_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(iVar15 + 0x20) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(iVar15 + 0x20) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(iVar15 + 0x20) * 8" (pointer_expression "*(int *)(iVar15 + 0x20)" (* "*") (cast_expression "(int *)(iVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x20)" (( "(") (binary_expression "iVar15 + 0x20" (identifier "iVar15") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (* "*") (identifier "DAT_002b2404")) (+ "+") (binary_expression "DAT_002b23fc *\n                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" (identifier "DAT_002b23fc") (* "*") (cast_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(iVar15 + 0x14) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(iVar15 + 0x14) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(iVar15 + 0x14) * 8" (pointer_expression "*(int *)(iVar15 + 0x14)" (* "*") (cast_expression "(int *)(iVar15 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x14)" (( "(") (binary_expression "iVar15 + 0x14" (identifier "iVar15") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "8"))) () ")"))))))) (+ "+") (binary_expression "DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" (identifier "DAT_002b2400") (* "*") (cast_expression "(float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(iVar15 + 8) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(iVar15 + 8) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(iVar15 + 8) * 8" (pointer_expression "*(int *)(iVar15 + 8)" (* "*") (cast_expression "(int *)(iVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 8)" (( "(") (binary_expression "iVar15 + 8" (identifier "iVar15") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "8"))) () ")")))))))) (; ";")) (if_statement "if (0.0 < fVar1) {\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }" (if "if") (parenthesized_expression "(0.0 < fVar1)" (( "(") (binary_expression "0.0 < fVar1" (number_literal "0.0") (< "<") (identifier "fVar1")) () ")")) (compound_statement "{\n                          fVar1 = fVar1 / DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }\n                        }" ({ "{") (expression_statement "fVar1 = fVar1 / DAT_002a7ff0;" (assignment_expression "fVar1 = fVar1 / DAT_002a7ff0" (identifier "fVar1") (= "=") (binary_expression "fVar1 / DAT_002a7ff0" (identifier "fVar1") (/ "/") (identifier "DAT_002a7ff0"))) (; ";")) (expression_statement "pcVar34 = (char *)0xff;" (assignment_expression "pcVar34 = (char *)0xff" (identifier "pcVar34") (= "=") (cast_expression "(char *)0xff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xff"))) (; ";")) (if_statement "if (fVar1 < DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }" (if "if") (parenthesized_expression "(fVar1 < DAT_002a7ff4)" (( "(") (binary_expression "fVar1 < DAT_002a7ff4" (identifier "fVar1") (< "<") (identifier "DAT_002a7ff4")) () ")")) (compound_statement "{\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                          }" ({ "{") (expression_statement "pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);" (assignment_expression "pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" (identifier "pcVar34") (= "=") (cast_expression "(char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)(short)ROUND(fVar1 + DAT_0029f124)" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (cast_expression "(short)ROUND(fVar1 + DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(fVar1 + DAT_0029f124)" (identifier "ROUND") (argument_list "(fVar1 + DAT_0029f124)" (( "(") (binary_expression "fVar1 + DAT_0029f124" (identifier "fVar1") (+ "+") (identifier "DAT_0029f124")) () ")")))))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "Ascii85Encode(piVar31,pcVar34);" (call_expression "Ascii85Encode(piVar31,pcVar34)" (identifier "Ascii85Encode") (argument_list "(piVar31,pcVar34)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar34") () ")"))) (; ";")) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" (identifier "iVar27") (= "=") (binary_expression "iVar27 + piVar31[0xa6] * 8" (identifier "iVar27") (+ "+") (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" (identifier "piVar31") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 < piVar31[6])" (( "(") (binary_expression "iVar11 < piVar31[6]" (identifier "iVar11") (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" (identifier "iVar27") (= "=") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (piVar31[0xccf] == 0) {\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }" (if "if") (parenthesized_expression "(piVar31[0xccf] == 0)" (( "(") (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" (identifier "piVar31") ([ "[") (number_literal "0xccf") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      pcVar34 = (char *)0x0;\n                      iVar27 = SetImageProgress();\n                      if (iVar27 == 0) break;\n                      iVar27 = piVar31[7];\n                    }" ({ "{") (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" (identifier "pcVar34") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar27 = SetImageProgress();" (assignment_expression "iVar27 = SetImageProgress()" (identifier "iVar27") (= "=") (call_expression "SetImageProgress()" (identifier "SetImageProgress") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) break;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" (identifier "iVar27") (= "=") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" (identifier "local_6224") (= "=") (cast_expression "(int *)((int)local_6224 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_6224 + 1)" (( "(") (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)local_6224 < iVar27)" (( "(") (binary_expression "(int)local_6224 < iVar27" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (< "<") (identifier "iVar27")) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_002368f4;" (goto "goto") (statement_identifier "LAB_002368f4") (; ";"))) (} "}"))) (expression_statement "iVar27 = InjectImageBlob();" (assignment_expression "iVar27 = InjectImageBlob()" (identifier "iVar27") (= "=") (call_expression "InjectImageBlob()" (identifier "InjectImageBlob") (argument_list "()" (( "(") () ")")))) (; ";")) (labeled_statement "joined_r0x002361ac:\n              if (iVar27 != 0) goto LAB_002361b2;" (statement_identifier "joined_r0x002361ac") (: ":") (if_statement "if (iVar27 != 0) goto LAB_002361b2;" (if "if") (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002361b2;" (goto "goto") (statement_identifier "LAB_002361b2") (; ";")))) (goto_statement "goto LAB_0023707e;" (goto "goto") (statement_identifier "LAB_0023707e") (; ";")) (} "}"))) (if_statement "if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }\n            else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }" (if "if") (parenthesized_expression "(((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2))" (( "(") (binary_expression "((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)" (parenthesized_expression "((*local_6224 == 1) || (0x100 < (uint)local_6224[9]))" (( "(") (binary_expression "(*local_6224 == 1) || (0x100 < (uint)local_6224[9])" (parenthesized_expression "(*local_6224 == 1)" (( "(") (binary_expression "*local_6224 == 1" (pointer_expression "*local_6224" (* "*") (identifier "local_6224")) (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(0x100 < (uint)local_6224[9])" (( "(") (binary_expression "0x100 < (uint)local_6224[9]" (number_literal "0x100") (< "<") (cast_expression "(uint)local_6224[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_6224[9]" (identifier "local_6224") ([ "[") (number_literal "9") (] "]")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(local_61b8 - 0xb < 2)" (( "(") (binary_expression "local_61b8 - 0xb < 2" (binary_expression "local_61b8 - 0xb" (identifier "local_61b8") (- "-") (number_literal "0xb")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n              if (local_61b8 == 0xc) goto LAB_00236760;\n              if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }" ({ "{") (if_statement "if (local_61b8 == 0xc) goto LAB_00236760;" (if "if") (parenthesized_expression "(local_61b8 == 0xc)" (( "(") (binary_expression "local_61b8 == 0xc" (identifier "local_61b8") (== "==") (number_literal "0xc")) () ")")) (goto_statement "goto LAB_00236760;" (goto "goto") (statement_identifier "LAB_00236760") (; ";"))) (if_statement "if (local_61b8 != 0x10) {\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }" (if "if") (parenthesized_expression "(local_61b8 != 0x10)" (( "(") (binary_expression "local_61b8 != 0x10" (identifier "local_61b8") (!= "!=") (number_literal "0x10")) () ")")) (compound_statement "{\n                if (local_61b8 == 0xb) goto LAB_00236188;\n                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;\n                local_6194 = AcquireVirtualMemory(iVar27,1);\n                if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }\n                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }\n                if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                goto LAB_00237064;\n              }" ({ "{") (if_statement "if (local_61b8 == 0xb) goto LAB_00236188;" (if "if") (parenthesized_expression "(local_61b8 == 0xb)" (( "(") (binary_expression "local_61b8 == 0xb" (identifier "local_61b8") (== "==") (number_literal "0xb")) () ")")) (goto_statement "goto LAB_00236188;" (goto "goto") (statement_identifier "LAB_00236188") (; ";"))) (expression_statement "iVar27 = ((local_6224[1] == 2) + 3) * uVar10;" (assignment_expression "iVar27 = ((local_6224[1] == 2) + 3) * uVar10" (identifier "iVar27") (= "=") (binary_expression "((local_6224[1] == 2) + 3) * uVar10" (parenthesized_expression "((local_6224[1] == 2) + 3)" (( "(") (binary_expression "(local_6224[1] == 2) + 3" (parenthesized_expression "(local_6224[1] == 2)" (( "(") (binary_expression "local_6224[1] == 2" (subscript_expression "local_6224[1]" (identifier "local_6224") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "2")) () ")")) (+ "+") (number_literal "3")) () ")")) (* "*") (identifier "uVar10"))) (; ";")) (expression_statement "local_6194 = AcquireVirtualMemory(iVar27,1);" (assignment_expression "local_6194 = AcquireVirtualMemory(iVar27,1)" (identifier "local_6194") (= "=") (call_expression "AcquireVirtualMemory(iVar27,1)" (identifier "AcquireVirtualMemory") (argument_list "(iVar27,1)" (( "(") (identifier "iVar27") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (local_6194 == 0) {\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }" (if "if") (parenthesized_expression "(local_6194 == 0)" (( "(") (binary_expression "local_6194 == 0" (identifier "local_6194") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  RelinquishMagickMemory(local_6200);\n                  piVar25 = local_6224 + 0xc6;\n                  pcVar34 = "`%s\'";\n                  pcVar19 = "MemoryAllocationFailed";\n                  ThrowMagickException();\n                  piVar8 = (int *)param_1[3];\n                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }\n                  goto LAB_00239234;\n                }" ({ "{") (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" (identifier "RelinquishMagickMemory") (argument_list "(local_6200)" (( "(") (identifier "local_6200") () ")"))) (; ";")) (expression_statement "piVar25 = local_6224 + 0xc6;" (assignment_expression "piVar25 = local_6224 + 0xc6" (identifier "piVar25") (= "=") (binary_expression "local_6224 + 0xc6" (identifier "local_6224") (+ "+") (number_literal "0xc6"))) (; ";")) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" (identifier "pcVar34") (= "=") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" (identifier "pcVar19") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" (identifier "ThrowMagickException") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" (identifier "piVar8") (= "=") (cast_expression "(int *)param_1[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (while_statement "while (piVar5 = local_6224, piVar8 != (int *)0x0) {\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }" (while "while") (parenthesized_expression "(piVar5 = local_6224, piVar8 != (int *)0x0)" (( "(") (comma_expression "piVar5 = local_6224, piVar8 != (int *)0x0" (assignment_expression "piVar5 = local_6224" (identifier "piVar5") (= "=") (identifier "local_6224")) (, ",") (binary_expression "piVar8 != (int *)0x0" (identifier "piVar8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n                    piVar8 = (int *)piVar5[0xccf];\n                    local_6224 = piVar8;\n                    piVar31 = piVar5;\n                  }" ({ "{") (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" (identifier "piVar8") (= "=") (cast_expression "(int *)piVar5[0xccf]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[0xccf]" (identifier "piVar5") ([ "[") (number_literal "0xccf") (] "]")))) (; ";")) (expression_statement "local_6224 = piVar8;" (assignment_expression "local_6224 = piVar8" (identifier "local_6224") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" (identifier "piVar31") (= "=") (identifier "piVar5")) (; ";")) (} "}"))) (goto_statement "goto LAB_00239234;" (goto "goto") (statement_identifier "LAB_00239234") (; ";")) (} "}"))) (expression_statement "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);" (assignment_expression "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194)" (identifier "puVar14") (= "=") (cast_expression "(undefined1 *)GetVirtualMemoryBlob(local_6194)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetVirtualMemoryBlob(local_6194)" (identifier "GetVirtualMemoryBlob") (argument_list "(local_6194)" (( "(") (identifier "local_6194") () ")"))))) (; ";")) (if_statement "if (0 < local_6224[7]) {\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }" (if "if") (parenthesized_expression "(0 < local_6224[7])" (( "(") (binary_expression "0 < local_6224[7]" (number_literal "0") (< "<") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]"))) () ")")) (compound_statement "{\n                  local_6224 = (int *)0x0;\n                  puVar28 = puVar14;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);\n                }" ({ "{") (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" (identifier "local_6224") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar28 = puVar14;" (assignment_expression "puVar28 = puVar14" (identifier "puVar28") (= "=") (identifier "puVar14")) (; ";")) (do_statement "do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  } while ((int)local_6224 < iVar11);" (do "do") (compound_statement "{\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }\n                    iVar11 = piVar31[7];\n                    if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                  }" ({ "{") (expression_statement "iVar11 = GetVirtualPixels();" (assignment_expression "iVar11 = GetVirtualPixels()" (identifier "iVar11") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (0 < piVar31[6]) {\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }" (if "if") (parenthesized_expression "(0 < piVar31[6])" (( "(") (binary_expression "0 < piVar31[6]" (number_literal "0") (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (compound_statement "{\n                      iVar15 = 0;\n                      puVar24 = puVar28;\n                      do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);\n                    }" ({ "{") (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar24 = puVar28;" (assignment_expression "puVar24 = puVar28" (identifier "puVar24") (= "=") (identifier "puVar28")) (; ";")) (do_statement "do {\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      } while (iVar15 < piVar31[6]);" (do "do") (compound_statement "{\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        *puVar24 = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[1] = uVar6;\n                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                        uVar6 = 0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                        puVar24[2] = uVar6;\n                        if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }\n                        iVar15 = iVar15 + 1;\n                        iVar11 = iVar11 + piVar31[0xa6] * 8;\n                        puVar24 = puVar28;\n                      }" ({ "{") (expression_statement "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);" (assignment_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8)" (* "*") (cast_expression "(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8)" (( "(") (binary_expression "iVar11 + *(int *)(piVar31[0xaa] + 8) * 8" (identifier "iVar11") (+ "+") (binary_expression "*(int *)(piVar31[0xaa] + 8) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 8)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 8)" (( "(") (binary_expression "piVar31[0xaa] + 8" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*puVar24 = uVar6;" (assignment_expression "*puVar24 = uVar6" (pointer_expression "*puVar24" (* "*") (identifier "puVar24")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);" (assignment_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8)" (* "*") (cast_expression "(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8)" (( "(") (binary_expression "iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8" (identifier "iVar11") (+ "+") (binary_expression "*(int *)(piVar31[0xaa] + 0x14) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x14)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x14)" (( "(") (binary_expression "piVar31[0xaa] + 0x14" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar24[1] = uVar6;" (assignment_expression "puVar24[1] = uVar6" (subscript_expression "puVar24[1]" (identifier "puVar24") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);" (assignment_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8)" (* "*") (cast_expression "(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8)" (( "(") (binary_expression "iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8" (identifier "iVar11") (+ "+") (binary_expression "*(int *)(piVar31[0xaa] + 0x20) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x20)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x20)" (( "(") (binary_expression "piVar31[0xaa] + 0x20" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          uVar6 = 0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar24[2] = uVar6;" (assignment_expression "puVar24[2] = uVar6" (subscript_expression "puVar24[2]" (identifier "puVar24") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (if_statement "if (piVar31[1] == 2) {\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }\n                        else {\n                          puVar28 = puVar24 + 3;\n                        }" (if "if") (parenthesized_expression "(piVar31[1] == 2)" (( "(") (binary_expression "piVar31[1] == 2" (subscript_expression "piVar31[1]" (identifier "piVar31") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                          puVar28 = puVar24 + 4;\n                          uVar6 = 0;\n                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }\n                          puVar24[3] = uVar6;\n                        }" ({ "{") (expression_statement "puVar28 = puVar24 + 4;" (assignment_expression "puVar28 = puVar24 + 4" (identifier "puVar28") (= "=") (binary_expression "puVar24 + 4" (identifier "puVar24") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)) {\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }" (if "if") (parenthesized_expression "((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36))" (( "(") (binary_expression "(*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)" (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x28) != 0)" (( "(") (binary_expression "*(int *)(piVar31[0xaa] + 0x28) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x28)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x28)" (( "(") (binary_expression "piVar31[0xaa] + 0x28" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36)" (( "(") (comma_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                             0.0 < dVar36" (assignment_expression "dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" (( "(") (binary_expression "iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8" (identifier "iVar11") (+ "+") (binary_expression "*(int *)(piVar31[0xaa] + 0x2c) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x2c)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x2c)" (( "(") (binary_expression "piVar31[0xaa] + 0x2c" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (, ",") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36"))) () ")"))) () ")")) (compound_statement "{\n                            dVar36 = dVar36 / (double)DAT_002a7ff0;\n                            uVar6 = 0xff;\n                            if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }\n                          }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                            }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar24[3] = uVar6;" (assignment_expression "puVar24[3] = uVar6" (subscript_expression "puVar24[3]" (identifier "puVar24") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (} "}")) (else_clause "else {\n                          puVar28 = puVar24 + 3;\n                        }" (else "else") (compound_statement "{\n                          puVar28 = puVar24 + 3;\n                        }" ({ "{") (expression_statement "puVar28 = puVar24 + 3;" (assignment_expression "puVar28 = puVar24 + 3" (identifier "puVar28") (= "=") (binary_expression "puVar24 + 3" (identifier "puVar24") (+ "+") (number_literal "3"))) (; ";")) (} "}")))) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar11 = iVar11 + piVar31[0xa6] * 8;" (assignment_expression "iVar11 = iVar11 + piVar31[0xa6] * 8" (identifier "iVar11") (= "=") (binary_expression "iVar11 + piVar31[0xa6] * 8" (identifier "iVar11") (+ "+") (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" (identifier "piVar31") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (expression_statement "puVar24 = puVar28;" (assignment_expression "puVar24 = puVar28" (identifier "puVar24") (= "=") (identifier "puVar28")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar15 < piVar31[6])" (( "(") (binary_expression "iVar15 < piVar31[6]" (identifier "iVar15") (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar11 = piVar31[7];" (assignment_expression "iVar11 = piVar31[7]" (identifier "iVar11") (= "=") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (piVar31[0xccf] == 0) {\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }" (if "if") (parenthesized_expression "(piVar31[0xccf] == 0)" (( "(") (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" (identifier "piVar31") ([ "[") (number_literal "0xccf") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      iVar11 = SetImageProgress();\n                      if (iVar11 == 0) break;\n                      iVar11 = piVar31[7];\n                    }" ({ "{") (expression_statement "iVar11 = SetImageProgress();" (assignment_expression "iVar11 = SetImageProgress()" (identifier "iVar11") (= "=") (call_expression "SetImageProgress()" (identifier "SetImageProgress") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar11 = piVar31[7];" (assignment_expression "iVar11 = piVar31[7]" (identifier "iVar11") (= "=") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" (identifier "local_6224") (= "=") (cast_expression "(int *)((int)local_6224 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_6224 + 1)" (( "(") (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)local_6224 < iVar11)" (( "(") (binary_expression "(int)local_6224 < iVar11" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (< "<") (identifier "iVar11")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_61b8 == 0xf) {\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }\n                else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }" (if "if") (parenthesized_expression "(local_61b8 == 0xf)" (( "(") (binary_expression "local_61b8 == 0xf" (identifier "local_61b8") (== "==") (number_literal "0xf")) () ")")) (compound_statement "{\n                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }" ({ "{") (expression_statement "iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);" (assignment_expression "iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3)" (identifier "iVar27") (= "=") (call_expression "LZWEncodeImage(piVar31,iVar27,puVar14,param_3)" (identifier "LZWEncodeImage") (argument_list "(piVar31,iVar27,puVar14,param_3)" (( "(") (identifier "piVar31") (, ",") (identifier "iVar27") (, ",") (identifier "puVar14") (, ",") (identifier "param_3") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }" (else "else") (compound_statement "{\n                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);\n                }" ({ "{") (expression_statement "iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);" (assignment_expression "iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3)" (identifier "iVar27") (= "=") (call_expression "PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3)" (identifier "PackbitsEncodeImage") (argument_list "(piVar31,iVar27,puVar14,param_3)" (( "(") (identifier "piVar31") (, ",") (identifier "iVar27") (, ",") (identifier "puVar14") (, ",") (identifier "param_3") () ")")))) (; ";")) (} "}")))) (goto_statement "goto LAB_00237064;" (goto "goto") (statement_identifier "LAB_00237064") (; ";")) (} "}"))) (expression_statement "Ascii85Initialize(local_6224);" (call_expression "Ascii85Initialize(local_6224)" (identifier "Ascii85Initialize") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")"))) (; ";")) (if_statement "if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }" (if "if") (parenthesized_expression "(0 < local_6224[7])" (( "(") (binary_expression "0 < local_6224[7]" (number_literal "0") (< "<") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]"))) () ")")) (compound_statement "{\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }" ({ "{") (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" (identifier "local_6224") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);" (do "do") (compound_statement "{\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                }" ({ "{") (expression_statement "pcVar34 = param_3;" (assignment_expression "pcVar34 = param_3" (identifier "pcVar34") (= "=") (identifier "param_3")) (; ";")) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" (identifier "iVar27") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) break;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }" (if "if") (parenthesized_expression "(0 < piVar31[6])" (( "(") (binary_expression "0 < piVar31[6]" (number_literal "0") (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (compound_statement "{\n                    iVar11 = 0;\n                    do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }" ({ "{") (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);" (do "do") (compound_statement "{\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);\n                      uVar6 = 0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,uVar6);\n                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);\n                      pcVar34 = (char *)0x0;\n                      if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar34);\n                      if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }\n                      iVar11 = iVar11 + 1;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    }" ({ "{") (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 8) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(piVar31[0xaa] + 8) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 8)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 8)" (( "(") (binary_expression "piVar31[0xaa] + 8" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" (identifier "Ascii85Encode") (argument_list "(piVar31,uVar6)" (( "(") (identifier "piVar31") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(piVar31[0xaa] + 0x14) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x14)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x14)" (( "(") (binary_expression "piVar31[0xaa] + 0x14" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        uVar6 = 0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" (identifier "Ascii85Encode") (argument_list "(piVar31,uVar6)" (( "(") (identifier "piVar31") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(piVar31[0xaa] + 0x20) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x20)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x20)" (( "(") (binary_expression "piVar31[0xaa] + 0x20" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" (identifier "pcVar34") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0.0 < dVar36) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar34 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "pcVar34 = (char *)0xff;" (assignment_expression "pcVar34 = (char *)0xff" (identifier "pcVar34") (= "=") (cast_expression "(char *)0xff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xff"))) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" ({ "{") (expression_statement "pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "pcVar34") (= "=") (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "Ascii85Encode(piVar31,pcVar34);" (call_expression "Ascii85Encode(piVar31,pcVar34)" (identifier "Ascii85Encode") (argument_list "(piVar31,pcVar34)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar34") () ")"))) (; ";")) (if_statement "if (piVar31[1] == 2) {\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }" (if "if") (parenthesized_expression "(piVar31[1] == 2)" (( "(") (binary_expression "piVar31[1] == 2" (subscript_expression "piVar31[1]" (identifier "piVar31") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                        pcVar34 = (char *)0x0;\n                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                        Ascii85Encode(piVar31,pcVar34);\n                      }" ({ "{") (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" (identifier "pcVar34") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }" (if "if") (parenthesized_expression "((*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36))" (( "(") (binary_expression "(*(int *)(piVar31[0xaa] + 0x28) != 0) &&\n                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)" (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x28) != 0)" (( "(") (binary_expression "*(int *)(piVar31[0xaa] + 0x28) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x28)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x28)" (( "(") (binary_expression "piVar31[0xaa] + 0x28" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36)" (( "(") (comma_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),\n                           0.0 < dVar36" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(piVar31[0xaa] + 0x2c) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x2c)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x2c)" (( "(") (binary_expression "piVar31[0xaa] + 0x2c" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (, ",") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36"))) () ")"))) () ")")) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          pcVar34 = (char *)0xff;\n                          if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "pcVar34 = (char *)0xff;" (assignment_expression "pcVar34 = (char *)0xff" (identifier "pcVar34") (= "=") (cast_expression "(char *)0xff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xff"))) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" ({ "{") (expression_statement "pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );" (assignment_expression "pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" (identifier "pcVar34") (= "=") (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124\n                                                                      )" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "Ascii85Encode(piVar31,pcVar34);" (call_expression "Ascii85Encode(piVar31,pcVar34)" (identifier "Ascii85Encode") (argument_list "(piVar31,pcVar34)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar34") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" (identifier "iVar27") (= "=") (binary_expression "iVar27 + piVar31[0xa6] * 8" (identifier "iVar27") (+ "+") (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" (identifier "piVar31") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 < piVar31[6])" (( "(") (binary_expression "iVar11 < piVar31[6]" (identifier "iVar11") (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" (identifier "iVar27") (= "=") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }" (if "if") (parenthesized_expression "(piVar31[0xccf] == 0)" (( "(") (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" (identifier "piVar31") ([ "[") (number_literal "0xccf") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }" ({ "{") (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" (identifier "pcVar34") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar27 = SetImageProgress();" (assignment_expression "iVar27 = SetImageProgress()" (identifier "iVar27") (= "=") (call_expression "SetImageProgress()" (identifier "SetImageProgress") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) break;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" (identifier "iVar27") (= "=") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" (identifier "local_6224") (= "=") (cast_expression "(int *)((int)local_6224 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_6224 + 1)" (( "(") (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)local_6224 < iVar27)" (( "(") (binary_expression "(int)local_6224 < iVar27" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (< "<") (identifier "iVar27")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }" (else "else") (compound_statement "{\n              if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }\n              Ascii85Initialize(local_6224);\n              if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }\n            }" ({ "{") (if_statement "if (local_61b8 != 0x10) {\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }" (if "if") (parenthesized_expression "(local_61b8 != 0x10)" (( "(") (binary_expression "local_61b8 != 0x10" (identifier "local_61b8") (!= "!=") (number_literal "0x10")) () ")")) (compound_statement "{\n                local_6194 = AcquireVirtualMemory(uVar10,1);\n                if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }\n                RelinquishMagickMemory(local_6200);\n                piVar25 = local_6224 + 0xc6;\n                pcVar34 = "`%s\'";\n                pcVar19 = "MemoryAllocationFailed";\n                ThrowMagickException();\n                if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }\n                goto LAB_00239234;\n              }" ({ "{") (expression_statement "local_6194 = AcquireVirtualMemory(uVar10,1);" (assignment_expression "local_6194 = AcquireVirtualMemory(uVar10,1)" (identifier "local_6194") (= "=") (call_expression "AcquireVirtualMemory(uVar10,1)" (identifier "AcquireVirtualMemory") (argument_list "(uVar10,1)" (( "(") (identifier "uVar10") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (local_6194 != 0) {\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }" (if "if") (parenthesized_expression "(local_6194 != 0)" (( "(") (binary_expression "local_6194 != 0" (identifier "local_6194") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);\n                  if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }\nLAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\nLAB_00237064:\n                  RelinquishVirtualMemory(local_6194);\n                  goto joined_r0x002361ac;\n                }" ({ "{") (expression_statement "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);" (assignment_expression "puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194)" (identifier "puVar14") (= "=") (cast_expression "(undefined1 *)GetVirtualMemoryBlob(local_6194)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetVirtualMemoryBlob(local_6194)" (identifier "GetVirtualMemoryBlob") (argument_list "(local_6194)" (( "(") (identifier "local_6194") () ")"))))) (; ";")) (if_statement "if (0 < local_6224[7]) {\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }" (if "if") (parenthesized_expression "(0 < local_6224[7])" (( "(") (binary_expression "0 < local_6224[7]" (number_literal "0") (< "<") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]"))) () ")")) (compound_statement "{\n                    local_6224 = (int *)0x0;\n                    puVar28 = puVar14;\n                    do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);\n                  }" ({ "{") (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" (identifier "local_6224") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar28 = puVar14;" (assignment_expression "puVar28 = puVar14" (identifier "puVar28") (= "=") (identifier "puVar14")) (; ";")) (do_statement "do {\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    } while ((int)local_6224 < iVar27);" (do "do") (compound_statement "{\n                      iVar27 = GetVirtualPixels();\n                      if (iVar27 == 0) break;\n                      puVar24 = puVar28;\n                      puVar22 = puVar28;\n                      if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }\n                      iVar27 = piVar31[7];\n                      if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }\n                      local_6224 = (int *)((int)local_6224 + 1);\n                      puVar28 = puVar22;\n                    }" ({ "{") (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" (identifier "iVar27") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) break;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar24 = puVar28;" (assignment_expression "puVar24 = puVar28" (identifier "puVar24") (= "=") (identifier "puVar28")) (; ";")) (expression_statement "puVar22 = puVar28;" (assignment_expression "puVar22 = puVar28" (identifier "puVar22") (= "=") (identifier "puVar28")) (; ";")) (if_statement "if (0 < piVar31[6]) {\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }" (if "if") (parenthesized_expression "(0 < piVar31[6])" (( "(") (binary_expression "0 < piVar31[6]" (number_literal "0") (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (compound_statement "{\n                        do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);\n                      }" ({ "{") (do_statement "do {\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);" (do "do") (compound_statement "{\n                          uVar6 = 0;\n                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }\n                          puVar22 = puVar24 + 1;\n                          *puVar24 = uVar6;\n                          iVar27 = iVar27 + piVar31[0xa6] * 8;\n                          puVar24 = puVar22;\n                        }" ({ "{") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }" (if "if") (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x40) != 0)" (( "(") (binary_expression "*(int *)(piVar31[0xaa] + 0x40) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x40)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x40)" (( "(") (binary_expression "piVar31[0xaa] + 0x40" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                            uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));\n                          }" ({ "{") (expression_statement "uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));" (assignment_expression "uVar6 = (undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" (identifier "uVar6") (= "=") (cast_expression "(undefined1)\n                                    (int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(int)ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" (identifier "ROUND") (argument_list "(*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8))" (( "(") (pointer_expression "*(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" (* "*") (cast_expression "(double *)\n                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(piVar31[0xaa] + 0x44) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x44)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x44)" (( "(") (binary_expression "piVar31[0xaa] + 0x44" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "8"))) () ")")))) () ")")))))) (; ";")) (} "}"))) (expression_statement "puVar22 = puVar24 + 1;" (assignment_expression "puVar22 = puVar24 + 1" (identifier "puVar22") (= "=") (binary_expression "puVar24 + 1" (identifier "puVar24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar24 = uVar6;" (assignment_expression "*puVar24 = uVar6" (pointer_expression "*puVar24" (* "*") (identifier "puVar24")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" (identifier "iVar27") (= "=") (binary_expression "iVar27 + piVar31[0xa6] * 8" (identifier "iVar27") (+ "+") (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" (identifier "piVar31") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (expression_statement "puVar24 = puVar22;" (assignment_expression "puVar24 = puVar22" (identifier "puVar24") (= "=") (identifier "puVar22")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)puVar22 - (int)puVar28 < piVar31[6])" (( "(") (binary_expression "(int)puVar22 - (int)puVar28 < piVar31[6]" (binary_expression "(int)puVar22 - (int)puVar28" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (- "-") (cast_expression "(int)puVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar28"))) (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" (identifier "iVar27") (= "=") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (piVar31[0xccf] == 0) {\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }" (if "if") (parenthesized_expression "(piVar31[0xccf] == 0)" (( "(") (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" (identifier "piVar31") ([ "[") (number_literal "0xccf") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        iVar27 = SetImageProgress();\n                        if (iVar27 == 0) break;\n                        iVar27 = piVar31[7];\n                      }" ({ "{") (expression_statement "iVar27 = SetImageProgress();" (assignment_expression "iVar27 = SetImageProgress()" (identifier "iVar27") (= "=") (call_expression "SetImageProgress()" (identifier "SetImageProgress") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) break;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" (identifier "iVar27") (= "=") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" (identifier "local_6224") (= "=") (cast_expression "(int *)((int)local_6224 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_6224 + 1)" (( "(") (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "puVar28 = puVar22;" (assignment_expression "puVar28 = puVar22" (identifier "puVar28") (= "=") (identifier "puVar22")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)local_6224 < iVar27)" (( "(") (binary_expression "(int)local_6224 < iVar27" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (< "<") (identifier "iVar27")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00237039:\n                  if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" (statement_identifier "LAB_00237039") (: ":") (if_statement "if (local_61b8 == 0xf) {\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }\n                  else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" (if "if") (parenthesized_expression "(local_61b8 == 0xf)" (( "(") (binary_expression "local_61b8 == 0xf" (identifier "local_61b8") (== "==") (number_literal "0xf")) () ")")) (compound_statement "{\n                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" ({ "{") (expression_statement "iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);" (assignment_expression "iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3)" (identifier "iVar27") (= "=") (call_expression "LZWEncodeImage(piVar31,uVar10,puVar14,param_3)" (identifier "LZWEncodeImage") (argument_list "(piVar31,uVar10,puVar14,param_3)" (( "(") (identifier "piVar31") (, ",") (identifier "uVar10") (, ",") (identifier "puVar14") (, ",") (identifier "param_3") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" (else "else") (compound_statement "{\n                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);\n                  }" ({ "{") (expression_statement "iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);" (assignment_expression "iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3)" (identifier "iVar27") (= "=") (call_expression "PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3)" (identifier "PackbitsEncodeImage") (argument_list "(piVar31,uVar10,puVar14,param_3)" (( "(") (identifier "piVar31") (, ",") (identifier "uVar10") (, ",") (identifier "puVar14") (, ",") (identifier "param_3") () ")")))) (; ";")) (} "}"))))) (labeled_statement "LAB_00237064:\n                  RelinquishVirtualMemory(local_6194);" (statement_identifier "LAB_00237064") (: ":") (expression_statement "RelinquishVirtualMemory(local_6194);" (call_expression "RelinquishVirtualMemory(local_6194)" (identifier "RelinquishVirtualMemory") (argument_list "(local_6194)" (( "(") (identifier "local_6194") () ")"))) (; ";"))) (goto_statement "goto joined_r0x002361ac;" (goto "goto") (statement_identifier "joined_r0x002361ac") (; ";")) (} "}"))) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" (identifier "RelinquishMagickMemory") (argument_list "(local_6200)" (( "(") (identifier "local_6200") () ")"))) (; ";")) (expression_statement "piVar25 = local_6224 + 0xc6;" (assignment_expression "piVar25 = local_6224 + 0xc6" (identifier "piVar25") (= "=") (binary_expression "local_6224 + 0xc6" (identifier "local_6224") (+ "+") (number_literal "0xc6"))) (; ";")) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" (identifier "pcVar34") (= "=") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" (identifier "pcVar19") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" (identifier "ThrowMagickException") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (param_1[3] != 0) {\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }" (if "if") (parenthesized_expression "(param_1[3] != 0)" (( "(") (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  piVar8 = (int *)local_6224[0xccf];\n                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }\n                }" ({ "{") (expression_statement "piVar8 = (int *)local_6224[0xccf];" (assignment_expression "piVar8 = (int *)local_6224[0xccf]" (identifier "piVar8") (= "=") (cast_expression "(int *)local_6224[0xccf]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_6224[0xccf]" (identifier "local_6224") ([ "[") (number_literal "0xccf") (] "]")))) (; ";")) (while_statement "while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }" (while "while") (parenthesized_expression "(piVar5 = piVar8, piVar5 != (int *)0x0)" (( "(") (comma_expression "piVar5 = piVar8, piVar5 != (int *)0x0" (assignment_expression "piVar5 = piVar8" (identifier "piVar5") (= "=") (identifier "piVar8")) (, ",") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n                    piVar31 = piVar5;\n                    piVar8 = (int *)piVar5[0xccf];\n                  }" ({ "{") (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" (identifier "piVar31") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" (identifier "piVar8") (= "=") (cast_expression "(int *)piVar5[0xccf]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[0xccf]" (identifier "piVar5") ([ "[") (number_literal "0xccf") (] "]")))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_00239234;" (goto "goto") (statement_identifier "LAB_00239234") (; ";")) (} "}"))) (expression_statement "Ascii85Initialize(local_6224);" (call_expression "Ascii85Initialize(local_6224)" (identifier "Ascii85Initialize") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")"))) (; ";")) (if_statement "if (0 < local_6224[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }" (if "if") (parenthesized_expression "(0 < local_6224[7])" (( "(") (binary_expression "0 < local_6224[7]" (number_literal "0") (< "<") (subscript_expression "local_6224[7]" (identifier "local_6224") ([ "[") (number_literal "7") (] "]"))) () ")")) (compound_statement "{\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);\n              }" ({ "{") (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" (identifier "local_6224") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < iVar27);" (do "do") (compound_statement "{\n                  pcVar34 = param_3;\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }\n                  iVar27 = piVar31[7];\n                  if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                }" ({ "{") (expression_statement "pcVar34 = param_3;" (assignment_expression "pcVar34 = param_3" (identifier "pcVar34") (= "=") (identifier "param_3")) (; ";")) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" (identifier "iVar27") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) break;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (0 < piVar31[6]) {\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }" (if "if") (parenthesized_expression "(0 < piVar31[6])" (( "(") (binary_expression "0 < piVar31[6]" (number_literal "0") (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (compound_statement "{\n                    iVar11 = 0;\n                    do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);\n                  }" ({ "{") (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    } while (iVar11 < piVar31[6]);" (do "do") (compound_statement "{\n                      pcVar34 = (char *)0x0;\n                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }\n                      iVar11 = iVar11 + 1;\n                      Ascii85Encode(piVar31,pcVar34);\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                    }" ({ "{") (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" (identifier "pcVar34") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (*(int *)(piVar31[0xaa] + 0x40) != 0) {\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }" (if "if") (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x40) != 0)" (( "(") (binary_expression "*(int *)(piVar31[0xaa] + 0x40) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x40)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x40)" (( "(") (binary_expression "piVar31[0xaa] + 0x40" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);\n                      }" ({ "{") (expression_statement "pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff);" (assignment_expression "pcVar34 = (char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff)" (identifier "pcVar34") (= "=") (cast_expression "(char *)((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff)" (( "(") (binary_expression "(int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     ) & 0xff" (cast_expression "(int)ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     )" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     )" (identifier "ROUND") (argument_list "(*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)\n                                                     )" (( "(") (pointer_expression "*(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" (* "*") (cast_expression "(double *)\n                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(piVar31[0xaa] + 0x44) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x44)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x44)" (( "(") (binary_expression "piVar31[0xaa] + 0x44" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "8"))) () ")")))) () ")")))) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "Ascii85Encode(piVar31,pcVar34);" (call_expression "Ascii85Encode(piVar31,pcVar34)" (identifier "Ascii85Encode") (argument_list "(piVar31,pcVar34)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar34") () ")"))) (; ";")) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" (identifier "iVar27") (= "=") (binary_expression "iVar27 + piVar31[0xa6] * 8" (identifier "iVar27") (+ "+") (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" (identifier "piVar31") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 < piVar31[6])" (( "(") (binary_expression "iVar11 < piVar31[6]" (identifier "iVar11") (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" (identifier "iVar27") (= "=") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (piVar31[0xccf] == 0) {\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }" (if "if") (parenthesized_expression "(piVar31[0xccf] == 0)" (( "(") (binary_expression "piVar31[0xccf] == 0" (subscript_expression "piVar31[0xccf]" (identifier "piVar31") ([ "[") (number_literal "0xccf") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    pcVar34 = (char *)0x0;\n                    iVar27 = SetImageProgress();\n                    if (iVar27 == 0) break;\n                    iVar27 = piVar31[7];\n                  }" ({ "{") (expression_statement "pcVar34 = (char *)0x0;" (assignment_expression "pcVar34 = (char *)0x0" (identifier "pcVar34") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar27 = SetImageProgress();" (assignment_expression "iVar27 = SetImageProgress()" (identifier "iVar27") (= "=") (call_expression "SetImageProgress()" (identifier "SetImageProgress") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) break;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar27 = piVar31[7];" (assignment_expression "iVar27 = piVar31[7]" (identifier "iVar27") (= "=") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" (identifier "local_6224") (= "=") (cast_expression "(int *)((int)local_6224 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_6224 + 1)" (( "(") (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)local_6224 < iVar27)" (( "(") (binary_expression "(int)local_6224 < iVar27" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (< "<") (identifier "iVar27")) () ")")) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_002368f4:\n            Ascii85Flush(piVar31,pcVar34);" (statement_identifier "LAB_002368f4") (: ":") (expression_statement "Ascii85Flush(piVar31,pcVar34);" (call_expression "Ascii85Flush(piVar31,pcVar34)" (identifier "Ascii85Flush") (argument_list "(piVar31,pcVar34)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar34") () ")"))) (; ";"))) (goto_statement "goto LAB_002361b2;" (goto "goto") (statement_identifier "LAB_002361b2") (; ";")) (} "}"))) (labeled_statement "LAB_00238a00:\n          iVar27 = LocaleCompare("0","0");" (statement_identifier "LAB_00238a00") (: ":") (expression_statement "iVar27 = LocaleCompare("0","0");" (assignment_expression "iVar27 = LocaleCompare("0","0")" (identifier "iVar27") (= "=") (call_expression "LocaleCompare("0","0")" (identifier "LocaleCompare") (argument_list "("0","0")" (( "(") (string_literal ""0"" (" """) (string_content "0") (" """)) (, ",") (string_literal ""0"" (" """) (string_content "0") (" """)) () ")")))) (; ";"))) (if_statement "if (iVar27 == 0) {\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }\n          else {\n            FUN_00233f80(param_3);\n          }" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);\n          }" ({ "{") (expression_statement "HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);" (call_expression "HuffmanEncodeImage(param_1,local_6224,local_6224,param_3)" (identifier "HuffmanEncodeImage") (argument_list "(param_1,local_6224,local_6224,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "local_6224") (, ",") (identifier "local_6224") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            FUN_00233f80(param_3);\n          }" (else "else") (compound_statement "{\n            FUN_00233f80(param_3);\n          }" ({ "{") (expression_statement "FUN_00233f80(param_3);" (call_expression "FUN_00233f80(param_3)" (identifier "FUN_00233f80") (argument_list "(param_3)" (( "(") (identifier "param_3") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_002361b2:\n          TellBlob(piVar31);" (statement_identifier "LAB_002361b2") (: ":") (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";"))) (expression_statement "WriteBlobString(piVar31,"\nendstream\n");" (call_expression "WriteBlobString(piVar31,"\nendstream\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"\nendstream\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""\nendstream\n"" (" """) (escape_sequence "\n") (string_content "endstream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"endobj\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" (identifier "uVar33") (= "=") (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")")))) (; ";")) (expression_statement "local_6200[local_61f4 + 6] = uVar33;" (assignment_expression "local_6200[local_61f4 + 6] = uVar33" (subscript_expression "local_6200[local_61f4 + 6]" (identifier "local_6200") ([ "[") (binary_expression "local_61f4 + 6" (identifier "local_61f4") (+ "+") (number_literal "6")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"endobj\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar10 = local_61f4 + 8;" (assignment_expression "uVar10 = local_61f4 + 8" (identifier "uVar10") (= "=") (binary_expression "local_61f4 + 8" (identifier "local_61f4") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" (identifier "uVar33") (= "=") (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")")))) (; ";")) (expression_statement "local_6200[local_61f4 + 7] = uVar33;" (assignment_expression "local_6200[local_61f4 + 7] = uVar33" (subscript_expression "local_6200[local_61f4 + 7]" (identifier "local_6200") ([ "[") (binary_expression "local_61f4 + 7" (identifier "local_61f4") (+ "+") (number_literal "7")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "local_61c4 = (ulonglong)uVar10;" (assignment_expression "local_61c4 = (ulonglong)uVar10" (identifier "local_61c4") (= "=") (cast_expression "(ulonglong)uVar10" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar10"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "local_620c = "endobj\n";" (assignment_expression "local_620c = "endobj\n"" (identifier "local_620c") (= "=") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """))) (; ";")) (if_statement "if (piVar31[1] == 2) {\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }\n          else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }" (if "if") (parenthesized_expression "(piVar31[1] == 2)" (( "(") (binary_expression "piVar31[1] == 2" (subscript_expression "piVar31[1]" (identifier "piVar31") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }\n            pcVar34 = "DeviceCMYK";\nLAB_0023632d:\n            puVar35 = &UNK_00305bee;\n            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,puVar35);\nLAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);\n          }" ({ "{") (if_statement "if (iVar7 != 0) {\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar34 = "DeviceCMYK";\n              goto LAB_0023814a;\n            }" ({ "{") (expression_statement "pcVar34 = "DeviceCMYK";" (assignment_expression "pcVar34 = "DeviceCMYK"" (identifier "pcVar34") (= "=") (string_literal ""DeviceCMYK"" (" """) (string_content "DeviceCMYK") (" """))) (; ";")) (goto_statement "goto LAB_0023814a;" (goto "goto") (statement_identifier "LAB_0023814a") (; ";")) (} "}"))) (expression_statement "pcVar34 = "DeviceCMYK";" (assignment_expression "pcVar34 = "DeviceCMYK"" (identifier "pcVar34") (= "=") (string_literal ""DeviceCMYK"" (" """) (string_content "DeviceCMYK") (" """))) (; ";")) (labeled_statement "LAB_0023632d:\n            puVar35 = &UNK_00305bee;" (statement_identifier "LAB_0023632d") (: ":") (expression_statement "puVar35 = &UNK_00305bee;" (assignment_expression "puVar35 = &UNK_00305bee" (identifier "puVar35") (= "=") (pointer_expression "&UNK_00305bee" (& "&") (identifier "UNK_00305bee"))) (; ";"))) (expression_statement "FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,&UNK_00305bee,pcVar34)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (pointer_expression "&UNK_00305bee" (& "&") (identifier "UNK_00305bee")) (, ",") (identifier "pcVar34") () ")"))) (; ";")) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,puVar35);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,puVar35)" (identifier "dVar36") (= "=") (cast_expression "(double)CONCAT44(pcVar34,puVar35)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(pcVar34,puVar35)" (identifier "CONCAT44") (argument_list "(pcVar34,puVar35)" (( "(") (identifier "pcVar34") (, ",") (identifier "puVar35") () ")"))))) (; ";")) (labeled_statement "LAB_00236346:\n            WriteBlobString(piVar31,local_5020,dVar36);" (statement_identifier "LAB_00236346") (: ":") (expression_statement "WriteBlobString(piVar31,local_5020,dVar36);" (call_expression "WriteBlobString(piVar31,local_5020,dVar36)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020,dVar36)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") (, ",") (identifier "dVar36") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }" (else "else") (compound_statement "{\n            if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }\nLAB_0023814a:\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"endobj\n");\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 8] = uVar33;\n            local_61e4 = (double)(ulonglong)(local_61f4 + 9);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);\n            TellBlob(piVar31);\n            Ascii85Initialize(piVar31);\n            iVar27 = GetStringInfoDatum(iVar7);\n            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }\n            Ascii85Flush(piVar31);\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"endstream\n");\n            WriteBlobString(piVar31,"endobj\n");\n            uVar10 = local_61f4 + 10;\n            uVar33 = TellBlob(piVar31);\n            local_6200[local_61f4 + 9] = uVar33;\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            dVar36 = (double)CONCAT44(pcVar34,uVar12);\n          }" ({ "{") (if_statement "if ((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }\n            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" (if "if") (parenthesized_expression "((local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0))))" (( "(") (binary_expression "(local_61a4 < 2) ||\n               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))" (parenthesized_expression "(local_61a4 < 2)" (( "(") (binary_expression "local_61a4 < 2" (identifier "local_61a4") (< "<") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))" (( "(") (parenthesized_expression "(param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0))" (( "(") (binary_expression "param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)" (binary_expression "param_1[0x6e] != 6" (subscript_expression "param_1[0x6e]" (identifier "param_1") ([ "[") (number_literal "0x6e") (] "]")) (!= "!=") (number_literal "6")) (&& "&&") (parenthesized_expression "(iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)" (( "(") (comma_expression "iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0" (assignment_expression "iVar27 = SetImageGray(piVar31,param_3)" (identifier "iVar27") (= "=") (call_expression "SetImageGray(piVar31,param_3)" (identifier "SetImageGray") (argument_list "(piVar31,param_3)" (( "(") (identifier "piVar31") (, ",") (identifier "param_3") () ")")))) (, ",") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              pcVar34 = "DeviceGray";\n              if (iVar7 == 0) goto LAB_0023632d;\n              pcVar34 = "DeviceGray";\n            }" ({ "{") (expression_statement "pcVar34 = "DeviceGray";" (assignment_expression "pcVar34 = "DeviceGray"" (identifier "pcVar34") (= "=") (string_literal ""DeviceGray"" (" """) (string_content "DeviceGray") (" """))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_0023632d;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0023632d;" (goto "goto") (statement_identifier "LAB_0023632d") (; ";"))) (expression_statement "pcVar34 = "DeviceGray";" (assignment_expression "pcVar34 = "DeviceGray"" (identifier "pcVar34") (= "=") (string_literal ""DeviceGray"" (" """) (string_content "DeviceGray") (" """))) (; ";")) (} "}")) (else_clause "else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" (else "else") (if_statement "if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }\n            else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" (if "if") (parenthesized_expression "(((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2))" (( "(") (binary_expression "((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)" (parenthesized_expression "((*piVar31 == 1) || (0x100 < (uint)piVar31[9]))" (( "(") (binary_expression "(*piVar31 == 1) || (0x100 < (uint)piVar31[9])" (parenthesized_expression "(*piVar31 == 1)" (( "(") (binary_expression "*piVar31 == 1" (pointer_expression "*piVar31" (* "*") (identifier "piVar31")) (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(0x100 < (uint)piVar31[9])" (( "(") (binary_expression "0x100 < (uint)piVar31[9]" (number_literal "0x100") (< "<") (cast_expression "(uint)piVar31[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar31[9]" (identifier "piVar31") ([ "[") (number_literal "9") (] "]")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(local_61b8 - 0xb < 2)" (( "(") (binary_expression "local_61b8 - 0xb < 2" (binary_expression "local_61b8 - 0xb" (identifier "local_61b8") (- "-") (number_literal "0xb")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n              pcVar34 = "DeviceRGB";\n              if (iVar7 == 0) goto LAB_0023632d;\n            }" ({ "{") (expression_statement "pcVar34 = "DeviceRGB";" (assignment_expression "pcVar34 = "DeviceRGB"" (identifier "pcVar34") (= "=") (string_literal ""DeviceRGB"" (" """) (string_content "DeviceRGB") (" """))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_0023632d;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0023632d;" (goto "goto") (statement_identifier "LAB_0023632d") (; ";"))) (} "}")) (else_clause "else {\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" (else "else") (compound_statement "{\n              if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }\n              pcVar34 = "DeviceRGB";\n            }" ({ "{") (if_statement "if (iVar7 == 0) {\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;\n                FormatLocaleString();\n                goto LAB_00236346;\n              }" ({ "{") (expression_statement "dVar36 = (double)local_61c4 + (double)DAT_002a9b78;" (assignment_expression "dVar36 = (double)local_61c4 + (double)DAT_002a9b78" (identifier "dVar36") (= "=") (binary_expression "(double)local_61c4 + (double)DAT_002a9b78" (cast_expression "(double)local_61c4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_61c4")) (+ "+") (cast_expression "(double)DAT_002a9b78" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a9b78")))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00236346;" (goto "goto") (statement_identifier "LAB_00236346") (; ";")) (} "}"))) (expression_statement "pcVar34 = "DeviceRGB";" (assignment_expression "pcVar34 = "DeviceRGB"" (identifier "pcVar34") (= "=") (string_literal ""DeviceRGB"" (" """) (string_content "DeviceRGB") (" """))) (; ";")) (} "}")))))) (labeled_statement "LAB_0023814a:\n            FormatLocaleString();" (statement_identifier "LAB_0023814a") (: ":") (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"endobj\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" (identifier "uVar33") (= "=") (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")")))) (; ";")) (expression_statement "local_6200[local_61f4 + 8] = uVar33;" (assignment_expression "local_6200[local_61f4 + 8] = uVar33" (subscript_expression "local_6200[local_61f4 + 8]" (identifier "local_6200") ([ "[") (binary_expression "local_61f4 + 8" (identifier "local_61f4") (+ "+") (number_literal "8")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "local_61e4 = (double)(ulonglong)(local_61f4 + 9);" (assignment_expression "local_61e4 = (double)(ulonglong)(local_61f4 + 9)" (identifier "local_61e4") (= "=") (cast_expression "(double)(ulonglong)(local_61f4 + 9)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(ulonglong)(local_61f4 + 9)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(local_61f4 + 9)" (( "(") (binary_expression "local_61f4 + 9" (identifier "local_61f4") (+ "+") (number_literal "9")) () ")"))))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20)" (identifier "uVar12") (= "=") (call_expression "(undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20)" (( "(") (binary_expression "(ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20" (call_expression "(ulonglong)((double)(longlong)local_61e4 + 1.0)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "((double)(longlong)local_61e4 + 1.0)" (( "(") (binary_expression "(double)(longlong)local_61e4 + 1.0" (cast_expression "(double)(longlong)local_61e4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(longlong)local_61e4" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "local_61e4"))) (+ "+") (number_literal "1.0")) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020,uVar12,pcVar34);" (call_expression "WriteBlobString(piVar31,local_5020,uVar12,pcVar34)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020,uVar12,pcVar34)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") (, ",") (identifier "uVar12") (, ",") (identifier "pcVar34") () ")"))) (; ";")) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" (identifier "Ascii85Initialize") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (expression_statement "iVar27 = GetStringInfoDatum(iVar7);" (assignment_expression "iVar27 = GetStringInfoDatum(iVar7)" (identifier "iVar27") (= "=") (call_expression "GetStringInfoDatum(iVar7)" (identifier "GetStringInfoDatum") (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")")))) (; ";")) (for_statement "for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;\n                iVar11 = iVar11 + 1) {\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }" (for "for") (( "(") (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";") (comma_expression "iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15" (assignment_expression "iVar15 = GetStringInfoLength(iVar7)" (identifier "iVar15") (= "=") (call_expression "GetStringInfoLength(iVar7)" (identifier "GetStringInfoLength") (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")")))) (, ",") (binary_expression "iVar11 < iVar15" (identifier "iVar11") (< "<") (identifier "iVar15"))) (; ";") (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));\n            }" ({ "{") (expression_statement "Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));" (call_expression "Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11))" (identifier "Ascii85Encode") (argument_list "(piVar31,*(undefined1 *)(iVar27 + iVar11))" (( "(") (identifier "piVar31") (, ",") (pointer_expression "*(undefined1 *)(iVar27 + iVar11)" (* "*") (cast_expression "(undefined1 *)(iVar27 + iVar11)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + iVar11)" (( "(") (binary_expression "iVar27 + iVar11" (identifier "iVar27") (+ "+") (identifier "iVar11")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "Ascii85Flush(piVar31);" (call_expression "Ascii85Flush(piVar31)" (identifier "Ascii85Flush") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"endstream\n");" (call_expression "WriteBlobString(piVar31,"endstream\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"endstream\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""endstream\n"" (" """) (string_content "endstream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"endobj\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar10 = local_61f4 + 10;" (assignment_expression "uVar10 = local_61f4 + 10" (identifier "uVar10") (= "=") (binary_expression "local_61f4 + 10" (identifier "local_61f4") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" (identifier "uVar33") (= "=") (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")")))) (; ";")) (expression_statement "local_6200[local_61f4 + 9] = uVar33;" (assignment_expression "local_6200[local_61f4 + 9] = uVar33" (subscript_expression "local_6200[local_61f4 + 9]" (identifier "local_6200") ([ "[") (binary_expression "local_61f4 + 9" (identifier "local_61f4") (+ "+") (number_literal "9")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,uVar12);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,uVar12)" (identifier "dVar36") (= "=") (cast_expression "(double)CONCAT44(pcVar34,uVar12)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(pcVar34,uVar12)" (identifier "CONCAT44") (argument_list "(pcVar34,uVar12)" (( "(") (identifier "pcVar34") (, ",") (identifier "uVar12") () ")"))))) (; ";")) (} "}")))) (expression_statement "WriteBlobString(piVar31,"endobj\n",dVar36);" (call_expression "WriteBlobString(piVar31,"endobj\n",dVar36)" (identifier "WriteBlobString") (argument_list "(piVar31,"endobj\n",dVar36)" (( "(") (identifier "piVar31") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) (, ",") (identifier "dVar36") () ")"))) (; ";")) (expression_statement "SetGeometry(piVar31,&local_60a4);" (call_expression "SetGeometry(piVar31,&local_60a4)" (identifier "SetGeometry") (argument_list "(piVar31,&local_60a4)" (( "(") (identifier "piVar31") (, ",") (pointer_expression "&local_60a4" (& "&") (identifier "local_60a4")) () ")"))) (; ";")) (expression_statement "ParseMetaGeometry();" (call_expression "ParseMetaGeometry()" (identifier "ParseMetaGeometry") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar12 = GetImageOption(param_1,"pdf:thumbnail");" (assignment_expression "uVar12 = GetImageOption(param_1,"pdf:thumbnail")" (identifier "uVar12") (= "=") (call_expression "GetImageOption(param_1,"pdf:thumbnail")" (identifier "GetImageOption") (argument_list "(param_1,"pdf:thumbnail")" (( "(") (identifier "param_1") (, ",") (string_literal ""pdf:thumbnail"" (" """) (string_content "pdf:thumbnail") (" """)) () ")")))) (; ";")) (expression_statement "iVar7 = IsStringTrue(uVar12);" (assignment_expression "iVar7 = IsStringTrue(uVar12)" (identifier "iVar7") (= "=") (call_expression "IsStringTrue(uVar12)" (identifier "IsStringTrue") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n            ParseMetaGeometry();\n          }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            ParseMetaGeometry();\n          }" ({ "{") (expression_statement "ParseMetaGeometry();" (call_expression "ParseMetaGeometry()" (identifier "ParseMetaGeometry") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);" (assignment_expression "puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3)" (identifier "puVar13") (= "=") (cast_expression "(uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "ThumbnailImage(piVar31,local_60a4,local_60a0,param_3)" (identifier "ThumbnailImage") (argument_list "(piVar31,local_60a4,local_60a0,param_3)" (( "(") (identifier "piVar31") (, ",") (identifier "local_60a4") (, ",") (identifier "local_60a0") (, ",") (identifier "param_3") () ")"))))) (; ";")) (if_statement "if (puVar13 == (uint *)0x0) goto LAB_002345f8;" (if "if") (parenthesized_expression "(puVar13 == (uint *)0x0)" (( "(") (binary_expression "puVar13 == (uint *)0x0" (identifier "puVar13") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002345f8;" (goto "goto") (statement_identifier "LAB_002345f8") (; ";"))) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" (identifier "uVar33") (= "=") (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")")))) (; ";")) (expression_statement "local_6200[uVar10] = uVar33;" (assignment_expression "local_6200[uVar10] = uVar33" (subscript_expression "local_6200[uVar10]" (identifier "local_6200") ([ "[") (identifier "uVar10") (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"<<\n");" (call_expression "WriteBlobString(piVar31,"<<\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"<<\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""<<\n"" (" """) (string_content "<<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (switch_statement "switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }" (switch "switch") (parenthesized_expression "(local_61a8)" (( "(") (identifier "local_61a8") () ")")) (compound_statement "{\n          case (uint *)0x0:\n          case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;\n          default:\n            pcVar34 = "RunLengthDecode";\n            break;\n          case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;\n          case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;\n          case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;\n          case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;\n          case (uint *)0xd:\n            pcVar34 = "FlateDecode";\n          }" ({ "{") (case_statement "case (uint *)0x0:" (case "case") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (: ":")) (case_statement "case (uint *)0x1:\n            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);\n            WriteBlobString(piVar31,local_5020);\n            local_61c4 = (ulonglong)puVar13[7];\n            dVar36 = (double)local_61c4;\n            FormatLocaleString();\n            goto code_r0x0023649f;" (case "case") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (: ":") (expression_statement "CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);" (call_expression "CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" (identifier "CopyMagickString") (argument_list "(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000)" (( "(") (identifier "local_5020") (, ",") (string_literal ""/Filter [ /CCITTFaxDecode ]\n"" (" """) (string_content "/Filter [ /CCITTFaxDecode ]") (escape_sequence "\n") (" """)) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "local_61c4 = (ulonglong)puVar13[7];" (assignment_expression "local_61c4 = (ulonglong)puVar13[7]" (identifier "local_61c4") (= "=") (cast_expression "(ulonglong)puVar13[7]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "dVar36 = (double)local_61c4;" (assignment_expression "dVar36 = (double)local_61c4" (identifier "dVar36") (= "=") (cast_expression "(double)local_61c4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_61c4"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto code_r0x0023649f;" (goto "goto") (statement_identifier "code_r0x0023649f") (; ";"))) (case_statement "default:\n            pcVar34 = "RunLengthDecode";\n            break;" (default "default") (: ":") (expression_statement "pcVar34 = "RunLengthDecode";" (assignment_expression "pcVar34 = "RunLengthDecode"" (identifier "pcVar34") (= "=") (string_literal ""RunLengthDecode"" (" """) (string_content "RunLengthDecode") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0x4:\n            pcVar34 = "JPXDecode";\n            goto code_r0x00236676;" (case "case") (cast_expression "(uint *)0x4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4")) (: ":") (expression_statement "pcVar34 = "JPXDecode";" (assignment_expression "pcVar34 = "JPXDecode"" (identifier "pcVar34") (= "=") (string_literal ""JPXDecode"" (" """) (string_content "JPXDecode") (" """))) (; ";")) (goto_statement "goto code_r0x00236676;" (goto "goto") (statement_identifier "code_r0x00236676") (; ";"))) (case_statement "case (uint *)0x5:\n            pcVar34 = "DCTDecode";\ncode_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            dVar36 = (double)CONCAT44(pcVar34,pcVar16);\n            if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }\n            goto code_r0x0023649f;" (case "case") (cast_expression "(uint *)0x5" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5")) (: ":") (expression_statement "pcVar34 = "DCTDecode";" (assignment_expression "pcVar34 = "DCTDecode"" (identifier "pcVar34") (= "=") (string_literal ""DCTDecode"" (" """) (string_content "DCTDecode") (" """))) (; ";")) (labeled_statement "code_r0x00236676:\n            pcVar16 = "/Filter [ /%s ]\n";" (statement_identifier "code_r0x00236676") (: ":") (expression_statement "pcVar16 = "/Filter [ /%s ]\n";" (assignment_expression "pcVar16 = "/Filter [ /%s ]\n"" (identifier "pcVar16") (= "=") (string_literal ""/Filter [ /%s ]\n"" (" """) (string_content "/Filter [ /%s ]") (escape_sequence "\n") (" """))) (; ";"))) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/Filter [ /%s ]\n"" (" """) (string_content "/Filter [ /%s ]") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar34") () ")"))) (; ";")) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,pcVar16);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,pcVar16)" (identifier "dVar36") (= "=") (cast_expression "(double)CONCAT44(pcVar34,pcVar16)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(pcVar34,pcVar16)" (identifier "CONCAT44") (argument_list "(pcVar34,pcVar16)" (( "(") (identifier "pcVar34") (, ",") (identifier "pcVar16") () ")"))))) (; ";")) (if_statement "if (puVar13[1] == 2) {\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }" (if "if") (parenthesized_expression "(puVar13[1] == 2)" (( "(") (binary_expression "puVar13[1] == 2" (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              WriteBlobString(piVar31,local_5020);\n              uVar12 = 0x1000;\n              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);\n              dVar36 = (double)CONCAT44(pcVar34,uVar12);\n            }" ({ "{") (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "uVar12 = 0x1000;" (assignment_expression "uVar12 = 0x1000" (identifier "uVar12") (= "=") (number_literal "0x1000")) (; ";")) (expression_statement "CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);" (call_expression "CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" (identifier "CopyMagickString") (argument_list "(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000)" (( "(") (identifier "local_5020") (, ",") (string_literal ""/Decode [1 0 1 0 1 0 1 0]\n"" (" """) (string_content "/Decode [1 0 1 0 1 0 1 0]") (escape_sequence "\n") (" """)) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,uVar12);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,uVar12)" (identifier "dVar36") (= "=") (cast_expression "(double)CONCAT44(pcVar34,uVar12)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(pcVar34,uVar12)" (identifier "CONCAT44") (argument_list "(pcVar34,uVar12)" (( "(") (identifier "pcVar34") (, ",") (identifier "uVar12") () ")"))))) (; ";")) (} "}"))) (goto_statement "goto code_r0x0023649f;" (goto "goto") (statement_identifier "code_r0x0023649f") (; ";"))) (case_statement "case (uint *)0x8:\n            pcVar34 = "LZWDecode";\n            break;" (case "case") (cast_expression "(uint *)0x8" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8")) (: ":") (expression_statement "pcVar34 = "LZWDecode";" (assignment_expression "pcVar34 = "LZWDecode"" (identifier "pcVar34") (= "=") (string_literal ""LZWDecode"" (" """) (string_content "LZWDecode") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0x9:\n            pcVar34 = "ASCII85Decode";\n            break;" (case "case") (cast_expression "(uint *)0x9" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x9")) (: ":") (expression_statement "pcVar34 = "ASCII85Decode";" (assignment_expression "pcVar34 = "ASCII85Decode"" (identifier "pcVar34") (= "=") (string_literal ""ASCII85Decode"" (" """) (string_content "ASCII85Decode") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (uint *)0xd:\n            pcVar34 = "FlateDecode";" (case "case") (cast_expression "(uint *)0xd" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xd")) (: ":") (expression_statement "pcVar34 = "FlateDecode";" (assignment_expression "pcVar34 = "FlateDecode"" (identifier "pcVar34") (= "=") (string_literal ""FlateDecode"" (" """) (string_content "FlateDecode") (" """))) (; ";"))) (} "}"))) (expression_statement "pcVar16 = "/Filter [ /%s ]\n";" (assignment_expression "pcVar16 = "/Filter [ /%s ]\n"" (identifier "pcVar16") (= "=") (string_literal ""/Filter [ /%s ]\n"" (" """) (string_content "/Filter [ /%s ]") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/Filter [ /%s ]\n"" (" """) (string_content "/Filter [ /%s ]") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar34") () ")"))) (; ";")) (expression_statement "dVar36 = (double)CONCAT44(pcVar34,pcVar16);" (assignment_expression "dVar36 = (double)CONCAT44(pcVar34,pcVar16)" (identifier "dVar36") (= "=") (cast_expression "(double)CONCAT44(pcVar34,pcVar16)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(pcVar34,pcVar16)" (identifier "CONCAT44") (argument_list "(pcVar34,pcVar16)" (( "(") (identifier "pcVar34") (, ",") (identifier "pcVar16") () ")"))))) (; ";")) (labeled_statement "code_r0x0023649f:\n          WriteBlobString(piVar31,local_5020,dVar36);" (statement_identifier "code_r0x0023649f") (: ":") (expression_statement "WriteBlobString(piVar31,local_5020,dVar36);" (call_expression "WriteBlobString(piVar31,local_5020,dVar36)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020,dVar36)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") (, ",") (identifier "dVar36") () ")"))) (; ";"))) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "pcVar34 = "/BitsPerComponent %d\n";" (assignment_expression "pcVar34 = "/BitsPerComponent %d\n"" (identifier "pcVar34") (= "=") (string_literal ""/BitsPerComponent %d\n"" (" """) (string_content "/BitsPerComponent %d") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (call_expression "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/BitsPerComponent %d\n"" (" """) (string_content "/BitsPerComponent %d") (escape_sequence "\n") (" """)) (, ",") (field_expression "local_61cc._0_4_" (identifier "local_61cc") (. ".") (field_identifier "_0_4_")) () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" (identifier "WriteBlobString") (argument_list "(piVar31,">>\n")" (( "(") (identifier "piVar31") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "pcVar16 = pcVar19;" (assignment_expression "pcVar16 = pcVar19" (identifier "pcVar16") (= "=") (identifier "pcVar19")) (; ";")) (expression_statement "WriteBlobString(piVar31,"stream\n");" (call_expression "WriteBlobString(piVar31,"stream\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"stream\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""stream\n"" (" """) (string_content "stream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (if_statement "if (local_61a4 < 2) {\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }" (if "if") (parenthesized_expression "(local_61a4 < 2)" (( "(") (binary_expression "local_61a4 < 2" (identifier "local_61a4") (< "<") (number_literal "2")) () ")")) (compound_statement "{\nLAB_00238a40:\n            iVar7 = LocaleCompare("0","0");\n            if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }\n            goto LAB_00236939;\n          }" ({ "{") (labeled_statement "LAB_00238a40:\n            iVar7 = LocaleCompare("0","0");" (statement_identifier "LAB_00238a40") (: ":") (expression_statement "iVar7 = LocaleCompare("0","0");" (assignment_expression "iVar7 = LocaleCompare("0","0")" (identifier "iVar7") (= "=") (call_expression "LocaleCompare("0","0")" (identifier "LocaleCompare") (argument_list "("0","0")" (( "(") (string_literal ""0"" (" """) (string_content "0") (" """)) (, ",") (string_literal ""0"" (" """) (string_content "0") (" """)) () ")")))) (; ";"))) (if_statement "if (iVar7 == 0) {\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }\n            else {\n              FUN_00233f80(param_3);\n            }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar34 = (char *)puVar13;\n              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);\n            }" ({ "{") (expression_statement "pcVar34 = (char *)puVar13;" (assignment_expression "pcVar34 = (char *)puVar13" (identifier "pcVar34") (= "=") (cast_expression "(char *)puVar13" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) (; ";")) (expression_statement "HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);" (call_expression "HuffmanEncodeImage(param_1,piVar31,puVar13,param_3)" (identifier "HuffmanEncodeImage") (argument_list "(param_1,piVar31,puVar13,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "piVar31") (, ",") (identifier "puVar13") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n              FUN_00233f80(param_3);\n            }" (else "else") (compound_statement "{\n              FUN_00233f80(param_3);\n            }" ({ "{") (expression_statement "FUN_00233f80(param_3);" (call_expression "FUN_00233f80(param_3)" (identifier "FUN_00233f80") (argument_list "(param_3)" (( "(") (identifier "param_3") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_00236939;" (goto "goto") (statement_identifier "LAB_00236939") (; ";")) (} "}"))) (expression_statement "iVar7 = puVar13[7] * puVar13[6];" (assignment_expression "iVar7 = puVar13[7] * puVar13[6]" (identifier "iVar7") (= "=") (binary_expression "puVar13[7] * puVar13[6]" (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")) (* "*") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) (; ";")) (if_statement "if ((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }" (if "if") (parenthesized_expression "((param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0))" (( "(") (binary_expression "(param_1[0x6e] == 6) ||\n             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)" (parenthesized_expression "(param_1[0x6e] == 6)" (( "(") (binary_expression "param_1[0x6e] == 6" (subscript_expression "param_1[0x6e]" (identifier "param_1") ([ "[") (number_literal "0x6e") (] "]")) (== "==") (number_literal "6")) () ")")) (|| "||") (parenthesized_expression "(pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)" (( "(") (comma_expression "pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0" (assignment_expression "pcVar16 = param_3" (identifier "pcVar16") (= "=") (identifier "param_3")) (, ",") (comma_expression "iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0" (assignment_expression "iVar27 = SetImageGray(puVar13,param_3)" (identifier "iVar27") (= "=") (call_expression "SetImageGray(puVar13,param_3)" (identifier "SetImageGray") (argument_list "(puVar13,param_3)" (( "(") (identifier "puVar13") (, ",") (identifier "param_3") () ")")))) (, ",") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }\n            if (local_61b8 == 0xc) goto LAB_00236910;\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }\n            if (local_61b8 == 0xb) goto LAB_00236d20;\n            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);\n            iVar27 = AcquireVirtualMemory(iVar7,4);\n            if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }\n            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);\n            if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }\n            if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            RelinquishVirtualMemory(iVar27);\n            if (iVar7 != 0) goto LAB_00236939;\n            iVar27 = 0;\nLAB_0023707e:\n            RelinquishMagickMemory(local_6200);\n            CloseBlob(piVar31);\n            goto LAB_002345fa;\n          }" ({ "{") (if_statement "if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }" (if "if") (parenthesized_expression "((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb))))" (( "(") (binary_expression "(*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))" (parenthesized_expression "(*puVar13 != 1)" (( "(") (binary_expression "*puVar13 != 1" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (!= "!=") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))" (( "(") (parenthesized_expression "(puVar13[9] < 0x101 && (1 < local_61b8 - 0xb))" (( "(") (binary_expression "puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)" (binary_expression "puVar13[9] < 0x101" (subscript_expression "puVar13[9]" (identifier "puVar13") ([ "[") (number_literal "9") (] "]")) (< "<") (number_literal "0x101")) (&& "&&") (parenthesized_expression "(1 < local_61b8 - 0xb)" (( "(") (binary_expression "1 < local_61b8 - 0xb" (number_literal "1") (< "<") (binary_expression "local_61b8 - 0xb" (identifier "local_61b8") (- "-") (number_literal "0xb"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }\n              local_61dc = AcquireVirtualMemory(iVar7,1);\n              if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }\n              goto LAB_00239234;\n            }" ({ "{") (if_statement "if (local_61b8 == 0x10) {\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }" (if "if") (parenthesized_expression "(local_61b8 == 0x10)" (( "(") (binary_expression "local_61b8 == 0x10" (identifier "local_61b8") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n                Ascii85Initialize(piVar31);\n                if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }\n                goto LAB_00236e87;\n              }" ({ "{") (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" (identifier "Ascii85Initialize") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (if_statement "if (0 < (int)puVar13[7]) {\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }" (if "if") (parenthesized_expression "(0 < (int)puVar13[7])" (( "(") (binary_expression "0 < (int)puVar13[7]" (number_literal "0") (< "<") (cast_expression "(int)puVar13[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")))) () ")")) (compound_statement "{\n                  local_61dc = 0;\n                  do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);\n                }" ({ "{") (expression_statement "local_61dc = 0;" (assignment_expression "local_61dc = 0" (identifier "local_61dc") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  } while (local_61dc < (int)puVar13[7]);" (do "do") (compound_statement "{\n                    pcVar16 = param_3;\n                    iVar7 = GetVirtualPixels();\n                    if (iVar7 == 0) break;\n                    if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }\n                    local_61dc = local_61dc + 1;\n                  }" ({ "{") (expression_statement "pcVar16 = param_3;" (assignment_expression "pcVar16 = param_3" (identifier "pcVar16") (= "=") (identifier "param_3")) (; ";")) (expression_statement "iVar7 = GetVirtualPixels();" (assignment_expression "iVar7 = GetVirtualPixels()" (identifier "iVar7") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (0 < (int)puVar13[6]) {\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }" (if "if") (parenthesized_expression "(0 < (int)puVar13[6])" (( "(") (binary_expression "0 < (int)puVar13[6]" (number_literal "0") (< "<") (cast_expression "(int)puVar13[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n                      iVar27 = 0;\n                      do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);\n                    }" ({ "{") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      } while (iVar27 < (int)puVar13[6]);" (do "do") (compound_statement "{\n                        pcVar16 = (char *)0x0;\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }\n                        iVar27 = iVar27 + 1;\n                        Ascii85Encode(piVar31,pcVar16);\n                        iVar7 = iVar7 + piVar31[0xa6] * 8;\n                      }" ({ "{") (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" (identifier "pcVar16") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }" (if "if") (parenthesized_expression "(*(int *)(puVar13[0xaa] + 0x40) != 0)" (( "(") (binary_expression "*(int *)(puVar13[0xaa] + 0x40) != 0" (pointer_expression "*(int *)(puVar13[0xaa] + 0x40)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 0x40)" (( "(") (binary_expression "puVar13[0xaa] + 0x40" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                          pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);\n                        }" ({ "{") (expression_statement "pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff);" (assignment_expression "pcVar16 = (char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff)" (identifier "pcVar16") (= "=") (cast_expression "(char *)((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff)" (( "(") (binary_expression "(int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )) & 0xff" (cast_expression "(int)ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         ))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         ))" (identifier "ROUND") (argument_list "(*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         ))" (( "(") (pointer_expression "*(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )" (* "*") (cast_expression "(double *)\n                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8\n                                                         )" (( "(") (binary_expression "iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8" (identifier "iVar7") (+ "+") (binary_expression "*(int *)(puVar13[0xaa] + 0x44) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x44)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 0x44)" (( "(") (binary_expression "puVar13[0xaa] + 0x44" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "8"))) () ")")))) () ")")))) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" (identifier "Ascii85Encode") (argument_list "(piVar31,pcVar16)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar16") () ")"))) (; ";")) (expression_statement "iVar7 = iVar7 + piVar31[0xa6] * 8;" (assignment_expression "iVar7 = iVar7 + piVar31[0xa6] * 8" (identifier "iVar7") (= "=") (binary_expression "iVar7 + piVar31[0xa6] * 8" (identifier "iVar7") (+ "+") (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" (identifier "piVar31") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar27 < (int)puVar13[6])" (( "(") (binary_expression "iVar27 < (int)puVar13[6]" (identifier "iVar27") (< "<") (cast_expression "(int)puVar13[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "local_61dc = local_61dc + 1;" (assignment_expression "local_61dc = local_61dc + 1" (identifier "local_61dc") (= "=") (binary_expression "local_61dc + 1" (identifier "local_61dc") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_61dc < (int)puVar13[7])" (( "(") (binary_expression "local_61dc < (int)puVar13[7]" (identifier "local_61dc") (< "<") (cast_expression "(int)puVar13[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")))) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_00236e87;" (goto "goto") (statement_identifier "LAB_00236e87") (; ";")) (} "}"))) (expression_statement "local_61dc = AcquireVirtualMemory(iVar7,1);" (assignment_expression "local_61dc = AcquireVirtualMemory(iVar7,1)" (identifier "local_61dc") (= "=") (call_expression "AcquireVirtualMemory(iVar7,1)" (identifier "AcquireVirtualMemory") (argument_list "(iVar7,1)" (( "(") (identifier "iVar7") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (local_61dc != 0) {\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }" (if "if") (parenthesized_expression "(local_61dc != 0)" (( "(") (binary_expression "local_61dc != 0" (identifier "local_61dc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n                if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }\n                goto LAB_0023720b;\n              }" ({ "{") (expression_statement "local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);" (assignment_expression "local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc)" (identifier "local_61a8") (= "=") (cast_expression "(uint *)GetVirtualMemoryBlob(local_61dc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetVirtualMemoryBlob(local_61dc)" (identifier "GetVirtualMemoryBlob") (argument_list "(local_61dc)" (( "(") (identifier "local_61dc") () ")"))))) (; ";")) (if_statement "if (0 < (int)puVar13[7]) {\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }" (if "if") (parenthesized_expression "(0 < (int)puVar13[7])" (( "(") (binary_expression "0 < (int)puVar13[7]" (number_literal "0") (< "<") (cast_expression "(int)puVar13[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")))) () ")")) (compound_statement "{\n                  iVar27 = 0;\n                  puVar29 = local_61a8;\n                  do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);\n                }" ({ "{") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar29 = local_61a8;" (assignment_expression "puVar29 = local_61a8" (identifier "puVar29") (= "=") (identifier "local_61a8")) (; ";")) (do_statement "do {\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  } while (iVar27 < (int)puVar13[7]);" (do "do") (compound_statement "{\n                    iVar11 = GetVirtualPixels();\n                    if (iVar11 == 0) break;\n                    puVar20 = puVar29;\n                    puVar23 = puVar29;\n                    if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }\n                    iVar27 = iVar27 + 1;\n                    puVar29 = puVar23;\n                  }" ({ "{") (expression_statement "iVar11 = GetVirtualPixels();" (assignment_expression "iVar11 = GetVirtualPixels()" (identifier "iVar11") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar20 = puVar29;" (assignment_expression "puVar20 = puVar29" (identifier "puVar20") (= "=") (identifier "puVar29")) (; ";")) (expression_statement "puVar23 = puVar29;" (assignment_expression "puVar23 = puVar29" (identifier "puVar23") (= "=") (identifier "puVar29")) (; ";")) (if_statement "if (0 < (int)puVar13[6]) {\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }" (if "if") (parenthesized_expression "(0 < (int)puVar13[6])" (( "(") (binary_expression "0 < (int)puVar13[6]" (number_literal "0") (< "<") (cast_expression "(int)puVar13[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n                      do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                    }" ({ "{") (do_statement "do {\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);" (do "do") (compound_statement "{\n                        cVar21 = '\0';\n                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }\n                        puVar23 = (uint *)((int)puVar20 + 1);\n                        *(char *)puVar20 = cVar21;\n                        iVar11 = iVar11 + puVar13[0xa6] * 8;\n                        puVar20 = puVar23;\n                      }" ({ "{") (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" (identifier "cVar21") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (*(int *)(puVar13[0xaa] + 0x40) != 0) {\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }" (if "if") (parenthesized_expression "(*(int *)(puVar13[0xaa] + 0x40) != 0)" (( "(") (binary_expression "*(int *)(puVar13[0xaa] + 0x40) != 0" (pointer_expression "*(int *)(puVar13[0xaa] + 0x40)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 0x40)" (( "(") (binary_expression "puVar13[0xaa] + 0x40" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                          cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));\n                        }" ({ "{") (expression_statement "cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));" (assignment_expression "cVar21 = (char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" (identifier "cVar21") (= "=") (cast_expression "(char)(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (cast_expression "(int)ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" (identifier "ROUND") (argument_list "(*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8))" (( "(") (pointer_expression "*(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8)" (* "*") (cast_expression "(double *)\n                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8)" (( "(") (binary_expression "iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8" (identifier "iVar11") (+ "+") (binary_expression "*(int *)(puVar13[0xaa] + 0x44) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x44)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 0x44)" (( "(") (binary_expression "puVar13[0xaa] + 0x44" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "8"))) () ")")))) () ")")))))) (; ";")) (} "}"))) (expression_statement "puVar23 = (uint *)((int)puVar20 + 1);" (assignment_expression "puVar23 = (uint *)((int)puVar20 + 1)" (identifier "puVar23") (= "=") (cast_expression "(uint *)((int)puVar20 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + 1)" (( "(") (binary_expression "(int)puVar20 + 1" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(char *)puVar20 = cVar21;" (assignment_expression "*(char *)puVar20 = cVar21" (pointer_expression "*(char *)puVar20" (* "*") (cast_expression "(char *)puVar20" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar20"))) (= "=") (identifier "cVar21")) (; ";")) (expression_statement "iVar11 = iVar11 + puVar13[0xa6] * 8;" (assignment_expression "iVar11 = iVar11 + puVar13[0xa6] * 8" (identifier "iVar11") (= "=") (binary_expression "iVar11 + puVar13[0xa6] * 8" (identifier "iVar11") (+ "+") (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" (identifier "puVar13") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (expression_statement "puVar20 = puVar23;" (assignment_expression "puVar20 = puVar23" (identifier "puVar20") (= "=") (identifier "puVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)puVar23 - (int)puVar29 < (int)puVar13[6])" (( "(") (binary_expression "(int)puVar23 - (int)puVar29 < (int)puVar13[6]" (binary_expression "(int)puVar23 - (int)puVar29" (cast_expression "(int)puVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar23")) (- "-") (cast_expression "(int)puVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar29"))) (< "<") (cast_expression "(int)puVar13[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar29 = puVar23;" (assignment_expression "puVar29 = puVar23" (identifier "puVar29") (= "=") (identifier "puVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar27 < (int)puVar13[7])" (( "(") (binary_expression "iVar27 < (int)puVar13[7]" (identifier "iVar27") (< "<") (cast_expression "(int)puVar13[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")))) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_0023720b;" (goto "goto") (statement_identifier "LAB_0023720b") (; ";")) (} "}"))) (expression_statement "DestroyImage(puVar13);" (call_expression "DestroyImage(puVar13)" (identifier "DestroyImage") (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" (identifier "RelinquishMagickMemory") (argument_list "(local_6200)" (( "(") (identifier "local_6200") () ")"))) (; ";")) (expression_statement "piVar25 = piVar31 + 0xc6;" (assignment_expression "piVar25 = piVar31 + 0xc6" (identifier "piVar25") (= "=") (binary_expression "piVar31 + 0xc6" (identifier "piVar31") (+ "+") (number_literal "0xc6"))) (; ";")) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" (identifier "pcVar34") (= "=") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" (identifier "pcVar19") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" (identifier "ThrowMagickException") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (param_1[3] != 0) {\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }" (if "if") (parenthesized_expression "(param_1[3] != 0)" (( "(") (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                piVar8 = (int *)piVar31[0xccf];\n                while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }\n              }" ({ "{") (expression_statement "piVar8 = (int *)piVar31[0xccf];" (assignment_expression "piVar8 = (int *)piVar31[0xccf]" (identifier "piVar8") (= "=") (cast_expression "(int *)piVar31[0xccf]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar31[0xccf]" (identifier "piVar31") ([ "[") (number_literal "0xccf") (] "]")))) (; ";")) (while_statement "while (piVar5 = piVar8, piVar5 != (int *)0x0) {\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }" (while "while") (parenthesized_expression "(piVar5 = piVar8, piVar5 != (int *)0x0)" (( "(") (comma_expression "piVar5 = piVar8, piVar5 != (int *)0x0" (assignment_expression "piVar5 = piVar8" (identifier "piVar5") (= "=") (identifier "piVar8")) (, ",") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n                  piVar31 = piVar5;\n                  piVar8 = (int *)piVar5[0xccf];\n                }" ({ "{") (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" (identifier "piVar31") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" (identifier "piVar8") (= "=") (cast_expression "(int *)piVar5[0xccf]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[0xccf]" (identifier "piVar5") ([ "[") (number_literal "0xccf") (] "]")))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_00239234;" (goto "goto") (statement_identifier "LAB_00239234") (; ";")) (} "}"))) (if_statement "if (local_61b8 == 0xc) goto LAB_00236910;" (if "if") (parenthesized_expression "(local_61b8 == 0xc)" (( "(") (binary_expression "local_61b8 == 0xc" (identifier "local_61b8") (== "==") (number_literal "0xc")) () ")")) (goto_statement "goto LAB_00236910;" (goto "goto") (statement_identifier "LAB_00236910") (; ";"))) (if_statement "if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }" (if "if") (parenthesized_expression "(local_61b8 == 0x10)" (( "(") (binary_expression "local_61b8 == 0x10" (identifier "local_61b8") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n              Ascii85Initialize(piVar31);\n              if ((int)puVar13[7] < 1) goto LAB_00236e87;\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n              Ascii85Flush(piVar31,pcVar16);\n              goto LAB_00236939;\n            }" ({ "{") (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" (identifier "Ascii85Initialize") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (if_statement "if ((int)puVar13[7] < 1) goto LAB_00236e87;" (if "if") (parenthesized_expression "((int)puVar13[7] < 1)" (( "(") (binary_expression "(int)puVar13[7] < 1" (cast_expression "(int)puVar13[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]"))) (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_00236e87;" (goto "goto") (statement_identifier "LAB_00236e87") (; ";"))) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);" (do "do") (compound_statement "{\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              }" ({ "{") (expression_statement "pcVar16 = param_3;" (assignment_expression "pcVar16 = param_3" (identifier "pcVar16") (= "=") (identifier "param_3")) (; ";")) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" (identifier "iVar27") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) break;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (0 < (int)puVar13[6]) {\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }" (if "if") (parenthesized_expression "(0 < (int)puVar13[6])" (( "(") (binary_expression "0 < (int)puVar13[6]" (number_literal "0") (< "<") (cast_expression "(int)puVar13[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n                  local_6224 = (int *)0x0;\n                  do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);\n                }" ({ "{") (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" (identifier "local_6224") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while ((int)local_6224 < (int)puVar13[6]);" (do "do") (compound_statement "{\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    pcVar16 = (char *)0x0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,pcVar16);\n                    if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }\n                    local_6224 = (int *)((int)local_6224 + 1);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  }" ({ "{") (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(puVar13[0xaa] + 8) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(puVar13[0xaa] + 8) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 8)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 8)" (( "(") (binary_expression "puVar13[0xaa] + 8" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" (identifier "Ascii85Encode") (argument_list "(piVar31,uVar6)" (( "(") (identifier "piVar31") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(puVar13[0xaa] + 0x14) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x14)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 0x14)" (( "(") (binary_expression "puVar13[0xaa] + 0x14" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" (identifier "Ascii85Encode") (argument_list "(piVar31,uVar6)" (( "(") (identifier "piVar31") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(puVar13[0xaa] + 0x20) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x20)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 0x20)" (( "(") (binary_expression "puVar13[0xaa] + 0x20" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" (identifier "pcVar16") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" (identifier "pcVar16") (= "=") (cast_expression "(char *)0xff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xff"))) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" ({ "{") (expression_statement "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "pcVar16") (= "=") (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" (identifier "Ascii85Encode") (argument_list "(piVar31,pcVar16)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar16") () ")"))) (; ";")) (if_statement "if (piVar31[1] == 2) {\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }" (if "if") (parenthesized_expression "(piVar31[1] == 2)" (( "(") (binary_expression "piVar31[1] == 2" (subscript_expression "piVar31[1]" (identifier "piVar31") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                      pcVar16 = (char *)0x0;\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      Ascii85Encode(piVar31,pcVar16);\n                    }" ({ "{") (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" (identifier "pcVar16") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" (if "if") (parenthesized_expression "((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36))" (( "(") (binary_expression "(*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)" (parenthesized_expression "(*(int *)(puVar13[0xaa] + 0x28) != 0)" (( "(") (binary_expression "*(int *)(puVar13[0xaa] + 0x28) != 0" (pointer_expression "*(int *)(puVar13[0xaa] + 0x28)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 0x28)" (( "(") (binary_expression "puVar13[0xaa] + 0x28" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)" (( "(") (comma_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(puVar13[0xaa] + 0x2c) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x2c)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 0x2c)" (( "(") (binary_expression "puVar13[0xaa] + 0x2c" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (, ",") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36"))) () ")"))) () ")")) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        pcVar16 = (char *)0xff;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" (identifier "pcVar16") (= "=") (cast_expression "(char *)0xff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xff"))) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" ({ "{") (expression_statement "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "pcVar16") (= "=") (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" (identifier "Ascii85Encode") (argument_list "(piVar31,pcVar16)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar16") () ")"))) (; ";")) (} "}"))) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" (identifier "local_6224") (= "=") (cast_expression "(int *)((int)local_6224 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_6224 + 1)" (( "(") (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar27 = iVar27 + puVar13[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + puVar13[0xa6] * 8" (identifier "iVar27") (= "=") (binary_expression "iVar27 + puVar13[0xa6] * 8" (identifier "iVar27") (+ "+") (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" (identifier "puVar13") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)local_6224 < (int)puVar13[6])" (( "(") (binary_expression "(int)local_6224 < (int)puVar13[6]" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (< "<") (cast_expression "(int)puVar13[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 < (int)puVar13[7])" (( "(") (binary_expression "iVar7 < (int)puVar13[7]" (identifier "iVar7") (< "<") (cast_expression "(int)puVar13[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")))) () ")")) (; ";")) (expression_statement "Ascii85Flush(piVar31,pcVar16);" (call_expression "Ascii85Flush(piVar31,pcVar16)" (identifier "Ascii85Flush") (argument_list "(piVar31,pcVar16)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar16") () ")"))) (; ";")) (goto_statement "goto LAB_00236939;" (goto "goto") (statement_identifier "LAB_00236939") (; ";")) (} "}"))) (if_statement "if (local_61b8 == 0xb) goto LAB_00236d20;" (if "if") (parenthesized_expression "(local_61b8 == 0xb)" (( "(") (binary_expression "local_61b8 == 0xb" (identifier "local_61b8") (== "==") (number_literal "0xb")) () ")")) (goto_statement "goto LAB_00236d20;" (goto "goto") (statement_identifier "LAB_00236d20") (; ";"))) (expression_statement "iVar7 = iVar7 * ((puVar13[1] == 2) + 3);" (assignment_expression "iVar7 = iVar7 * ((puVar13[1] == 2) + 3)" (identifier "iVar7") (= "=") (binary_expression "iVar7 * ((puVar13[1] == 2) + 3)" (identifier "iVar7") (* "*") (parenthesized_expression "((puVar13[1] == 2) + 3)" (( "(") (binary_expression "(puVar13[1] == 2) + 3" (parenthesized_expression "(puVar13[1] == 2)" (( "(") (binary_expression "puVar13[1] == 2" (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "2")) () ")")) (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "iVar27 = AcquireVirtualMemory(iVar7,4);" (assignment_expression "iVar27 = AcquireVirtualMemory(iVar7,4)" (identifier "iVar27") (= "=") (call_expression "AcquireVirtualMemory(iVar7,4)" (identifier "AcquireVirtualMemory") (argument_list "(iVar7,4)" (( "(") (identifier "iVar7") (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) {\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              DestroyImage(puVar13);\n              RelinquishMagickMemory(local_6200);\n              piVar25 = piVar31 + 0xc6;\n              pcVar34 = "`%s\'";\n              pcVar19 = "MemoryAllocationFailed";\n              ThrowMagickException();\n              piVar8 = (int *)param_1[3];\n              piVar5 = piVar31;\n              while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }\n              goto LAB_00239234;\n            }" ({ "{") (expression_statement "DestroyImage(puVar13);" (call_expression "DestroyImage(puVar13)" (identifier "DestroyImage") (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" (identifier "RelinquishMagickMemory") (argument_list "(local_6200)" (( "(") (identifier "local_6200") () ")"))) (; ";")) (expression_statement "piVar25 = piVar31 + 0xc6;" (assignment_expression "piVar25 = piVar31 + 0xc6" (identifier "piVar25") (= "=") (binary_expression "piVar31 + 0xc6" (identifier "piVar31") (+ "+") (number_literal "0xc6"))) (; ";")) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" (identifier "pcVar34") (= "=") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" (identifier "pcVar19") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" (identifier "ThrowMagickException") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" (identifier "piVar8") (= "=") (cast_expression "(int *)param_1[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "piVar5 = piVar31;" (assignment_expression "piVar5 = piVar31" (identifier "piVar5") (= "=") (identifier "piVar31")) (; ";")) (while_statement "while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }" (while "while") (parenthesized_expression "(piVar3 = piVar5, piVar8 != (int *)0x0)" (( "(") (comma_expression "piVar3 = piVar5, piVar8 != (int *)0x0" (assignment_expression "piVar3 = piVar5" (identifier "piVar3") (= "=") (identifier "piVar5")) (, ",") (binary_expression "piVar8 != (int *)0x0" (identifier "piVar8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n                piVar8 = (int *)piVar3[0xccf];\n                piVar5 = piVar8;\n                piVar31 = piVar3;\n              }" ({ "{") (expression_statement "piVar8 = (int *)piVar3[0xccf];" (assignment_expression "piVar8 = (int *)piVar3[0xccf]" (identifier "piVar8") (= "=") (cast_expression "(int *)piVar3[0xccf]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar3[0xccf]" (identifier "piVar3") ([ "[") (number_literal "0xccf") (] "]")))) (; ";")) (expression_statement "piVar5 = piVar8;" (assignment_expression "piVar5 = piVar8" (identifier "piVar5") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "piVar31 = piVar3;" (assignment_expression "piVar31 = piVar3" (identifier "piVar31") (= "=") (identifier "piVar3")) (; ";")) (} "}"))) (goto_statement "goto LAB_00239234;" (goto "goto") (statement_identifier "LAB_00239234") (; ";")) (} "}"))) (expression_statement "pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);" (assignment_expression "pcVar34 = (char *)GetVirtualMemoryBlob(iVar27)" (identifier "pcVar34") (= "=") (cast_expression "(char *)GetVirtualMemoryBlob(iVar27)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetVirtualMemoryBlob(iVar27)" (identifier "GetVirtualMemoryBlob") (argument_list "(iVar27)" (( "(") (identifier "iVar27") () ")"))))) (; ";")) (if_statement "if (0 < (int)puVar13[7]) {\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }" (if "if") (parenthesized_expression "(0 < (int)puVar13[7])" (( "(") (binary_expression "0 < (int)puVar13[7]" (number_literal "0") (< "<") (cast_expression "(int)puVar13[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")))) () ")")) (compound_statement "{\n              iVar11 = 0;\n              puVar29 = (uint *)pcVar34;\n              do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);\n            }" ({ "{") (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar29 = (uint *)pcVar34;" (assignment_expression "puVar29 = (uint *)pcVar34" (identifier "puVar29") (= "=") (cast_expression "(uint *)pcVar34" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar34"))) (; ";")) (do_statement "do {\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              } while (iVar11 < (int)puVar13[7]);" (do "do") (compound_statement "{\n                iVar15 = GetVirtualPixels();\n                if (iVar15 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }\n                iVar11 = iVar11 + 1;\n              }" ({ "{") (expression_statement "iVar15 = GetVirtualPixels();" (assignment_expression "iVar15 = GetVirtualPixels()" (identifier "iVar15") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar15 == 0) break;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (0 < (int)puVar13[6]) {\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }" (if "if") (parenthesized_expression "(0 < (int)puVar13[6])" (( "(") (binary_expression "0 < (int)puVar13[6]" (number_literal "0") (< "<") (cast_expression "(int)puVar13[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n                  iVar30 = 0;\n                  puVar20 = puVar29;\n                  do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);\n                }" ({ "{") (expression_statement "iVar30 = 0;" (assignment_expression "iVar30 = 0" (identifier "iVar30") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar20 = puVar29;" (assignment_expression "puVar20 = puVar29" (identifier "puVar20") (= "=") (identifier "puVar29")) (; ";")) (do_statement "do {\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  } while (iVar30 < (int)puVar13[6]);" (do "do") (compound_statement "{\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)puVar20 = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 1) = cVar21;\n                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);\n                    cVar21 = '\0';\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    *(char *)((int)puVar20 + 2) = cVar21;\n                    if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }\n                    iVar30 = iVar30 + 1;\n                    iVar15 = iVar15 + puVar13[0xa6] * 8;\n                    puVar20 = puVar29;\n                  }" ({ "{") (expression_statement "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);" (assignment_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8)" (* "*") (cast_expression "(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8)" (( "(") (binary_expression "iVar15 + *(int *)(puVar13[0xaa] + 8) * 8" (identifier "iVar15") (+ "+") (binary_expression "*(int *)(puVar13[0xaa] + 8) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 8)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 8)" (( "(") (binary_expression "puVar13[0xaa] + 8" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" (identifier "cVar21") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" (identifier "cVar21") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" ({ "{") (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "cVar21") (= "=") (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(char *)puVar20 = cVar21;" (assignment_expression "*(char *)puVar20 = cVar21" (pointer_expression "*(char *)puVar20" (* "*") (cast_expression "(char *)puVar20" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar20"))) (= "=") (identifier "cVar21")) (; ";")) (expression_statement "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);" (assignment_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8)" (* "*") (cast_expression "(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8)" (( "(") (binary_expression "iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8" (identifier "iVar15") (+ "+") (binary_expression "*(int *)(puVar13[0xaa] + 0x14) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x14)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 0x14)" (( "(") (binary_expression "puVar13[0xaa] + 0x14" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" (identifier "cVar21") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" (identifier "cVar21") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" ({ "{") (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "cVar21") (= "=") (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(char *)((int)puVar20 + 1) = cVar21;" (assignment_expression "*(char *)((int)puVar20 + 1) = cVar21" (pointer_expression "*(char *)((int)puVar20 + 1)" (* "*") (cast_expression "(char *)((int)puVar20 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + 1)" (( "(") (binary_expression "(int)puVar20 + 1" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "cVar21")) (; ";")) (expression_statement "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);" (assignment_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8)" (* "*") (cast_expression "(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8)" (( "(") (binary_expression "iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8" (identifier "iVar15") (+ "+") (binary_expression "*(int *)(puVar13[0xaa] + 0x20) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x20)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 0x20)" (( "(") (binary_expression "puVar13[0xaa] + 0x20" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" (identifier "cVar21") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      cVar21 = -1;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" (identifier "cVar21") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" ({ "{") (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "cVar21") (= "=") (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(char *)((int)puVar20 + 2) = cVar21;" (assignment_expression "*(char *)((int)puVar20 + 2) = cVar21" (pointer_expression "*(char *)((int)puVar20 + 2)" (* "*") (cast_expression "(char *)((int)puVar20 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + 2)" (( "(") (binary_expression "(int)puVar20 + 2" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "cVar21")) (; ";")) (if_statement "if (puVar13[1] == 2) {\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }\n                    else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }" (if "if") (parenthesized_expression "(puVar13[1] == 2)" (( "(") (binary_expression "puVar13[1] == 2" (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                      puVar29 = puVar20 + 1;\n                      cVar21 = '\0';\n                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }\n                      *(char *)((int)puVar20 + 3) = cVar21;\n                    }" ({ "{") (expression_statement "puVar29 = puVar20 + 1;" (assignment_expression "puVar29 = puVar20 + 1" (identifier "puVar29") (= "=") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" (identifier "cVar21") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)) {\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" (if "if") (parenthesized_expression "((*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36))" (( "(") (binary_expression "(*(int *)(puVar13[0xaa] + 0x28) != 0) &&\n                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)" (parenthesized_expression "(*(int *)(puVar13[0xaa] + 0x28) != 0)" (( "(") (binary_expression "*(int *)(puVar13[0xaa] + 0x28) != 0" (pointer_expression "*(int *)(puVar13[0xaa] + 0x28)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 0x28)" (( "(") (binary_expression "puVar13[0xaa] + 0x28" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36)" (( "(") (comma_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),\n                         0.0 < dVar36" (assignment_expression "dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" (* "*") (cast_expression "(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8)" (( "(") (binary_expression "iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8" (identifier "iVar15") (+ "+") (binary_expression "*(int *)(puVar13[0xaa] + 0x2c) * 8" (pointer_expression "*(int *)(puVar13[0xaa] + 0x2c)" (* "*") (cast_expression "(int *)(puVar13[0xaa] + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[0xaa] + 0x2c)" (( "(") (binary_expression "puVar13[0xaa] + 0x2c" (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (, ",") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36"))) () ")"))) () ")")) (compound_statement "{\n                        dVar36 = dVar36 / (double)DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }\n                      }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" (identifier "cVar21") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                        }" ({ "{") (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "cVar21") (= "=") (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(char *)((int)puVar20 + 3) = cVar21;" (assignment_expression "*(char *)((int)puVar20 + 3) = cVar21" (pointer_expression "*(char *)((int)puVar20 + 3)" (* "*") (cast_expression "(char *)((int)puVar20 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + 3)" (( "(") (binary_expression "(int)puVar20 + 3" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "3")) () ")")))) (= "=") (identifier "cVar21")) (; ";")) (} "}")) (else_clause "else {\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }" (else "else") (compound_statement "{\n                      puVar29 = (uint *)((int)puVar20 + 3);\n                    }" ({ "{") (expression_statement "puVar29 = (uint *)((int)puVar20 + 3);" (assignment_expression "puVar29 = (uint *)((int)puVar20 + 3)" (identifier "puVar29") (= "=") (cast_expression "(uint *)((int)puVar20 + 3)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + 3)" (( "(") (binary_expression "(int)puVar20 + 3" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "3")) () ")")))) (; ";")) (} "}")))) (expression_statement "iVar30 = iVar30 + 1;" (assignment_expression "iVar30 = iVar30 + 1" (identifier "iVar30") (= "=") (binary_expression "iVar30 + 1" (identifier "iVar30") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar15 = iVar15 + puVar13[0xa6] * 8;" (assignment_expression "iVar15 = iVar15 + puVar13[0xa6] * 8" (identifier "iVar15") (= "=") (binary_expression "iVar15 + puVar13[0xa6] * 8" (identifier "iVar15") (+ "+") (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" (identifier "puVar13") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (expression_statement "puVar20 = puVar29;" (assignment_expression "puVar20 = puVar29" (identifier "puVar20") (= "=") (identifier "puVar29")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar30 < (int)puVar13[6])" (( "(") (binary_expression "iVar30 < (int)puVar13[6]" (identifier "iVar30") (< "<") (cast_expression "(int)puVar13[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 < (int)puVar13[7])" (( "(") (binary_expression "iVar11 < (int)puVar13[7]" (identifier "iVar11") (< "<") (cast_expression "(int)puVar13[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")))) () ")")) (; ";")) (} "}"))) (if_statement "if (local_61b8 == 0xf) {\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }\n            else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }" (if "if") (parenthesized_expression "(local_61b8 == 0xf)" (( "(") (binary_expression "local_61b8 == 0xf" (identifier "local_61b8") (== "==") (number_literal "0xf")) () ")")) (compound_statement "{\n              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }" ({ "{") (expression_statement "iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);" (assignment_expression "iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3)" (identifier "iVar7") (= "=") (call_expression "LZWEncodeImage(piVar31,iVar7,pcVar34,param_3)" (identifier "LZWEncodeImage") (argument_list "(piVar31,iVar7,pcVar34,param_3)" (( "(") (identifier "piVar31") (, ",") (identifier "iVar7") (, ",") (identifier "pcVar34") (, ",") (identifier "param_3") () ")")))) (; ";")) (} "}")) (else_clause "else {\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }" (else "else") (compound_statement "{\n              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n            }" ({ "{") (expression_statement "iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);" (assignment_expression "iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3)" (identifier "iVar7") (= "=") (call_expression "PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3)" (identifier "PackbitsEncodeImage") (argument_list "(piVar31,iVar7,pcVar34,param_3)" (( "(") (identifier "piVar31") (, ",") (identifier "iVar7") (, ",") (identifier "pcVar34") (, ",") (identifier "param_3") () ")")))) (; ";")) (} "}")))) (expression_statement "RelinquishVirtualMemory(iVar27);" (call_expression "RelinquishVirtualMemory(iVar27)" (identifier "RelinquishVirtualMemory") (argument_list "(iVar27)" (( "(") (identifier "iVar27") () ")"))) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_00236939;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00236939;" (goto "goto") (statement_identifier "LAB_00236939") (; ";"))) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0023707e:\n            RelinquishMagickMemory(local_6200);" (statement_identifier "LAB_0023707e") (: ":") (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" (identifier "RelinquishMagickMemory") (argument_list "(local_6200)" (( "(") (identifier "local_6200") () ")"))) (; ";"))) (expression_statement "CloseBlob(piVar31);" (call_expression "CloseBlob(piVar31)" (identifier "CloseBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (goto_statement "goto LAB_002345fa;" (goto "goto") (statement_identifier "LAB_002345fa") (; ";")) (} "}"))) (switch_statement "switch(local_61a8) {\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }" (switch "switch") (parenthesized_expression "(local_61a8)" (( "(") (identifier "local_61a8") () ")")) (compound_statement "{\n          case (uint *)0x0:\n          case (uint *)0x1:\n            goto LAB_00238a40;\n          default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;\n          case (uint *)0x4:\nLAB_00236d20:\n            break;\n          case (uint *)0x5:\nLAB_00236910:\n            break;\n          case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;\n          }" ({ "{") (case_statement "case (uint *)0x0:" (case "case") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (: ":")) (case_statement "case (uint *)0x1:\n            goto LAB_00238a40;" (case "case") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (: ":") (goto_statement "goto LAB_00238a40;" (goto "goto") (statement_identifier "LAB_00238a40") (; ";"))) (case_statement "default:\n            local_61dc = AcquireVirtualMemory(iVar7,1);\n            if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }\n            DestroyImage(puVar13);\n            RelinquishMagickMemory(local_6200);\n            piVar25 = piVar31 + 0xc6;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            piVar8 = (int *)param_1[3];\n            piVar5 = piVar31;\n            while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }\n            goto LAB_00239234;" (default "default") (: ":") (expression_statement "local_61dc = AcquireVirtualMemory(iVar7,1);" (assignment_expression "local_61dc = AcquireVirtualMemory(iVar7,1)" (identifier "local_61dc") (= "=") (call_expression "AcquireVirtualMemory(iVar7,1)" (identifier "AcquireVirtualMemory") (argument_list "(iVar7,1)" (( "(") (identifier "iVar7") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (local_61dc != 0) {\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }" (if "if") (parenthesized_expression "(local_61dc != 0)" (( "(") (binary_expression "local_61dc != 0" (identifier "local_61dc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);\n              if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }\nLAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              RelinquishVirtualMemory(local_61dc);\n              if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }\n              goto LAB_00236939;\n            }" ({ "{") (expression_statement "local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);" (assignment_expression "local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc)" (identifier "local_61a8") (= "=") (cast_expression "(uint *)GetVirtualMemoryBlob(local_61dc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetVirtualMemoryBlob(local_61dc)" (identifier "GetVirtualMemoryBlob") (argument_list "(local_61dc)" (( "(") (identifier "local_61dc") () ")"))))) (; ";")) (if_statement "if (0 < (int)puVar13[7]) {\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }" (if "if") (parenthesized_expression "(0 < (int)puVar13[7])" (( "(") (binary_expression "0 < (int)puVar13[7]" (number_literal "0") (< "<") (cast_expression "(int)puVar13[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")))) () ")")) (compound_statement "{\n                iVar27 = 0;\n                puVar29 = local_61a8;\n                do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);\n              }" ({ "{") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar29 = local_61a8;" (assignment_expression "puVar29 = local_61a8" (identifier "puVar29") (= "=") (identifier "local_61a8")) (; ";")) (do_statement "do {\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                } while (iVar27 < (int)puVar13[7]);" (do "do") (compound_statement "{\n                  iVar11 = GetVirtualPixels();\n                  if (iVar11 == 0) break;\n                  puVar20 = puVar29;\n                  puVar23 = puVar29;\n                  if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }\n                  iVar27 = iVar27 + 1;\n                  puVar29 = puVar23;\n                }" ({ "{") (expression_statement "iVar11 = GetVirtualPixels();" (assignment_expression "iVar11 = GetVirtualPixels()" (identifier "iVar11") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar20 = puVar29;" (assignment_expression "puVar20 = puVar29" (identifier "puVar20") (= "=") (identifier "puVar29")) (; ";")) (expression_statement "puVar23 = puVar29;" (assignment_expression "puVar23 = puVar29" (identifier "puVar23") (= "=") (identifier "puVar29")) (; ";")) (if_statement "if (0 < (int)puVar13[6]) {\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }" (if "if") (parenthesized_expression "(0 < (int)puVar13[6])" (( "(") (binary_expression "0 < (int)puVar13[6]" (number_literal "0") (< "<") (cast_expression "(int)puVar13[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n                    do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);\n                  }" ({ "{") (do_statement "do {\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);" (do "do") (compound_statement "{\n                      uVar18 = puVar13[0xaa];\n                      puVar23 = (uint *)((int)puVar20 + 1);\n                      cVar21 = '\0';\n                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);\n                      if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }\n                      *(char *)puVar20 = cVar21;\n                      iVar11 = iVar11 + puVar13[0xa6] * 8;\n                      puVar20 = puVar23;\n                    }" ({ "{") (expression_statement "uVar18 = puVar13[0xaa];" (assignment_expression "uVar18 = puVar13[0xaa]" (identifier "uVar18") (= "=") (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "puVar23 = (uint *)((int)puVar20 + 1);" (assignment_expression "puVar23 = (uint *)((int)puVar20 + 1)" (identifier "puVar23") (= "=") (cast_expression "(uint *)((int)puVar20 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + 1)" (( "(") (binary_expression "(int)puVar20 + 1" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" (identifier "cVar21") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);" (assignment_expression "fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" (identifier "fVar1") (= "=") (binary_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" (binary_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404 +\n                              DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" (binary_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *\n                              DAT_002b2404" (cast_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8)" (* "*") (cast_expression "(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + *(int *)(uVar18 + 0x20) * 8)" (( "(") (binary_expression "iVar11 + *(int *)(uVar18 + 0x20) * 8" (identifier "iVar11") (+ "+") (binary_expression "*(int *)(uVar18 + 0x20) * 8" (pointer_expression "*(int *)(uVar18 + 0x20)" (* "*") (cast_expression "(int *)(uVar18 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar18 + 0x20)" (( "(") (binary_expression "uVar18 + 0x20" (identifier "uVar18") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (* "*") (identifier "DAT_002b2404")) (+ "+") (binary_expression "DAT_002b23fc *\n                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" (identifier "DAT_002b23fc") (* "*") (cast_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" (* "*") (cast_expression "(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + *(int *)(uVar18 + 0x14) * 8)" (( "(") (binary_expression "iVar11 + *(int *)(uVar18 + 0x14) * 8" (identifier "iVar11") (+ "+") (binary_expression "*(int *)(uVar18 + 0x14) * 8" (pointer_expression "*(int *)(uVar18 + 0x14)" (* "*") (cast_expression "(int *)(uVar18 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar18 + 0x14)" (( "(") (binary_expression "uVar18 + 0x14" (identifier "uVar18") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "8"))) () ")"))))))) (+ "+") (binary_expression "DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" (identifier "DAT_002b2400") (* "*") (cast_expression "(float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" (* "*") (cast_expression "(double *)(iVar11 + *(int *)(uVar18 + 8) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + *(int *)(uVar18 + 8) * 8)" (( "(") (binary_expression "iVar11 + *(int *)(uVar18 + 8) * 8" (identifier "iVar11") (+ "+") (binary_expression "*(int *)(uVar18 + 8) * 8" (pointer_expression "*(int *)(uVar18 + 8)" (* "*") (cast_expression "(int *)(uVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar18 + 8)" (( "(") (binary_expression "uVar18 + 8" (identifier "uVar18") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "8"))) () ")")))))))) (; ";")) (if_statement "if (0.0 < fVar1) {\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }" (if "if") (parenthesized_expression "(0.0 < fVar1)" (( "(") (binary_expression "0.0 < fVar1" (number_literal "0.0") (< "<") (identifier "fVar1")) () ")")) (compound_statement "{\n                        fVar1 = fVar1 / DAT_002a7ff0;\n                        cVar21 = -1;\n                        if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }\n                      }" ({ "{") (expression_statement "fVar1 = fVar1 / DAT_002a7ff0;" (assignment_expression "fVar1 = fVar1 / DAT_002a7ff0" (identifier "fVar1") (= "=") (binary_expression "fVar1 / DAT_002a7ff0" (identifier "fVar1") (/ "/") (identifier "DAT_002a7ff0"))) (; ";")) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" (identifier "cVar21") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (fVar1 < DAT_002a7ff4) {\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }" (if "if") (parenthesized_expression "(fVar1 < DAT_002a7ff4)" (( "(") (binary_expression "fVar1 < DAT_002a7ff4" (identifier "fVar1") (< "<") (identifier "DAT_002a7ff4")) () ")")) (compound_statement "{\n                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);\n                        }" ({ "{") (expression_statement "cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124)" (identifier "cVar21") (= "=") (cast_expression "(char)(short)ROUND(fVar1 + DAT_0029f124)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (cast_expression "(short)ROUND(fVar1 + DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(fVar1 + DAT_0029f124)" (identifier "ROUND") (argument_list "(fVar1 + DAT_0029f124)" (( "(") (binary_expression "fVar1 + DAT_0029f124" (identifier "fVar1") (+ "+") (identifier "DAT_0029f124")) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(char *)puVar20 = cVar21;" (assignment_expression "*(char *)puVar20 = cVar21" (pointer_expression "*(char *)puVar20" (* "*") (cast_expression "(char *)puVar20" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar20"))) (= "=") (identifier "cVar21")) (; ";")) (expression_statement "iVar11 = iVar11 + puVar13[0xa6] * 8;" (assignment_expression "iVar11 = iVar11 + puVar13[0xa6] * 8" (identifier "iVar11") (= "=") (binary_expression "iVar11 + puVar13[0xa6] * 8" (identifier "iVar11") (+ "+") (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" (identifier "puVar13") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (expression_statement "puVar20 = puVar23;" (assignment_expression "puVar20 = puVar23" (identifier "puVar20") (= "=") (identifier "puVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)puVar23 - (int)puVar29 < (int)puVar13[6])" (( "(") (binary_expression "(int)puVar23 - (int)puVar29 < (int)puVar13[6]" (binary_expression "(int)puVar23 - (int)puVar29" (cast_expression "(int)puVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar23")) (- "-") (cast_expression "(int)puVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar29"))) (< "<") (cast_expression "(int)puVar13[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar29 = puVar23;" (assignment_expression "puVar29 = puVar23" (identifier "puVar29") (= "=") (identifier "puVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar27 < (int)puVar13[7])" (( "(") (binary_expression "iVar27 < (int)puVar13[7]" (identifier "iVar27") (< "<") (cast_expression "(int)puVar13[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0023720b:\n              if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" (statement_identifier "LAB_0023720b") (: ":") (if_statement "if (local_61b8 == 0xf) {\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }\n              else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" (if "if") (parenthesized_expression "(local_61b8 == 0xf)" (( "(") (binary_expression "local_61b8 == 0xf" (identifier "local_61b8") (== "==") (number_literal "0xf")) () ")")) (compound_statement "{\n                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" ({ "{") (expression_statement "iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);" (assignment_expression "iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3)" (identifier "iVar7") (= "=") (call_expression "LZWEncodeImage(piVar31,iVar7,local_61a8,param_3)" (identifier "LZWEncodeImage") (argument_list "(piVar31,iVar7,local_61a8,param_3)" (( "(") (identifier "piVar31") (, ",") (identifier "iVar7") (, ",") (identifier "local_61a8") (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "pcVar34 = (char *)local_61a8;" (assignment_expression "pcVar34 = (char *)local_61a8" (identifier "pcVar34") (= "=") (cast_expression "(char *)local_61a8" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_61a8"))) (; ";")) (} "}")) (else_clause "else {\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" (else "else") (compound_statement "{\n                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);\n                pcVar34 = (char *)local_61a8;\n              }" ({ "{") (expression_statement "iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);" (assignment_expression "iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3)" (identifier "iVar7") (= "=") (call_expression "PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3)" (identifier "PackbitsEncodeImage") (argument_list "(piVar31,iVar7,local_61a8,param_3)" (( "(") (identifier "piVar31") (, ",") (identifier "iVar7") (, ",") (identifier "local_61a8") (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "pcVar34 = (char *)local_61a8;" (assignment_expression "pcVar34 = (char *)local_61a8" (identifier "pcVar34") (= "=") (cast_expression "(char *)local_61a8" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_61a8"))) (; ";")) (} "}"))))) (expression_statement "RelinquishVirtualMemory(local_61dc);" (call_expression "RelinquishVirtualMemory(local_61dc)" (identifier "RelinquishVirtualMemory") (argument_list "(local_61dc)" (( "(") (identifier "local_61dc") () ")"))) (; ";")) (if_statement "if (iVar7 == 0) {\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                iVar27 = 0;\n                goto LAB_0023707e;\n              }" ({ "{") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0023707e;" (goto "goto") (statement_identifier "LAB_0023707e") (; ";")) (} "}"))) (goto_statement "goto LAB_00236939;" (goto "goto") (statement_identifier "LAB_00236939") (; ";")) (} "}"))) (expression_statement "DestroyImage(puVar13);" (call_expression "DestroyImage(puVar13)" (identifier "DestroyImage") (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" (identifier "RelinquishMagickMemory") (argument_list "(local_6200)" (( "(") (identifier "local_6200") () ")"))) (; ";")) (expression_statement "piVar25 = piVar31 + 0xc6;" (assignment_expression "piVar25 = piVar31 + 0xc6" (identifier "piVar25") (= "=") (binary_expression "piVar31 + 0xc6" (identifier "piVar31") (+ "+") (number_literal "0xc6"))) (; ";")) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" (identifier "pcVar34") (= "=") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" (identifier "pcVar19") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" (identifier "ThrowMagickException") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" (identifier "piVar8") (= "=") (cast_expression "(int *)param_1[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "piVar5 = piVar31;" (assignment_expression "piVar5 = piVar31" (identifier "piVar5") (= "=") (identifier "piVar31")) (; ";")) (while_statement "while (piVar3 = piVar5, piVar8 != (int *)0x0) {\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }" (while "while") (parenthesized_expression "(piVar3 = piVar5, piVar8 != (int *)0x0)" (( "(") (comma_expression "piVar3 = piVar5, piVar8 != (int *)0x0" (assignment_expression "piVar3 = piVar5" (identifier "piVar3") (= "=") (identifier "piVar5")) (, ",") (binary_expression "piVar8 != (int *)0x0" (identifier "piVar8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n              piVar8 = (int *)piVar3[0xccf];\n              piVar5 = piVar8;\n              piVar31 = piVar3;\n            }" ({ "{") (expression_statement "piVar8 = (int *)piVar3[0xccf];" (assignment_expression "piVar8 = (int *)piVar3[0xccf]" (identifier "piVar8") (= "=") (cast_expression "(int *)piVar3[0xccf]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar3[0xccf]" (identifier "piVar3") ([ "[") (number_literal "0xccf") (] "]")))) (; ";")) (expression_statement "piVar5 = piVar8;" (assignment_expression "piVar5 = piVar8" (identifier "piVar5") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "piVar31 = piVar3;" (assignment_expression "piVar31 = piVar3" (identifier "piVar31") (= "=") (identifier "piVar3")) (; ";")) (} "}"))) (goto_statement "goto LAB_00239234;" (goto "goto") (statement_identifier "LAB_00239234") (; ";"))) (case_statement "case (uint *)0x4:\nLAB_00236d20:\n            break;" (case "case") (cast_expression "(uint *)0x4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4")) (: ":") (labeled_statement "LAB_00236d20:\n            break;" (statement_identifier "LAB_00236d20") (: ":") (break_statement "break;" (break "break") (; ";")))) (case_statement "case (uint *)0x5:\nLAB_00236910:\n            break;" (case "case") (cast_expression "(uint *)0x5" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5")) (: ":") (labeled_statement "LAB_00236910:\n            break;" (statement_identifier "LAB_00236910") (: ":") (break_statement "break;" (break "break") (; ";")))) (case_statement "case (uint *)0x9:\n            Ascii85Initialize(piVar31);\n            if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }\nLAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);\n            goto LAB_00236939;" (case "case") (cast_expression "(uint *)0x9" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x9")) (: ":") (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" (identifier "Ascii85Initialize") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (if_statement "if (0 < (int)puVar13[7]) {\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }" (if "if") (parenthesized_expression "(0 < (int)puVar13[7])" (( "(") (binary_expression "0 < (int)puVar13[7]" (number_literal "0") (< "<") (cast_expression "(int)puVar13[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")))) () ")")) (compound_statement "{\n              iVar7 = 0;\n              do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);\n            }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              } while (iVar7 < (int)puVar13[7]);" (do "do") (compound_statement "{\n                pcVar16 = param_3;\n                iVar27 = GetVirtualPixels();\n                if (iVar27 == 0) break;\n                if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }\n                iVar7 = iVar7 + 1;\n              }" ({ "{") (expression_statement "pcVar16 = param_3;" (assignment_expression "pcVar16 = param_3" (identifier "pcVar16") (= "=") (identifier "param_3")) (; ";")) (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" (identifier "iVar27") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) break;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (0 < (int)puVar13[6]) {\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }" (if "if") (parenthesized_expression "(0 < (int)puVar13[6])" (( "(") (binary_expression "0 < (int)puVar13[6]" (number_literal "0") (< "<") (cast_expression "(int)puVar13[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n                  iVar11 = 0;\n                  do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);\n                }" ({ "{") (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  } while (iVar11 < (int)puVar13[6]);" (do "do") (compound_statement "{\n                    uVar18 = puVar13[0xaa];\n                    pcVar16 = (char *)0x0;\n                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);\n                    if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }\n                    iVar11 = iVar11 + 1;\n                    Ascii85Encode(piVar31,pcVar16);\n                    iVar27 = iVar27 + puVar13[0xa6] * 8;\n                  }" ({ "{") (expression_statement "uVar18 = puVar13[0xaa];" (assignment_expression "uVar18 = puVar13[0xaa]" (identifier "uVar18") (= "=") (subscript_expression "puVar13[0xaa]" (identifier "puVar13") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" (identifier "pcVar16") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);" (assignment_expression "fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" (identifier "fVar1") (= "=") (binary_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +\n                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" (binary_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404\n                            + DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" (binary_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404" (cast_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(uVar18 + 0x20) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(uVar18 + 0x20) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(uVar18 + 0x20) * 8" (pointer_expression "*(int *)(uVar18 + 0x20)" (* "*") (cast_expression "(int *)(uVar18 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar18 + 0x20)" (( "(") (binary_expression "uVar18 + 0x20" (identifier "uVar18") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (* "*") (identifier "DAT_002b2404")) (+ "+") (binary_expression "DAT_002b23fc *\n                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" (identifier "DAT_002b23fc") (* "*") (cast_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(uVar18 + 0x14) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(uVar18 + 0x14) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(uVar18 + 0x14) * 8" (pointer_expression "*(int *)(uVar18 + 0x14)" (* "*") (cast_expression "(int *)(uVar18 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar18 + 0x14)" (( "(") (binary_expression "uVar18 + 0x14" (identifier "uVar18") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "8"))) () ")"))))))) (+ "+") (binary_expression "DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" (identifier "DAT_002b2400") (* "*") (cast_expression "(float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(uVar18 + 8) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(uVar18 + 8) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(uVar18 + 8) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(uVar18 + 8) * 8" (pointer_expression "*(int *)(uVar18 + 8)" (* "*") (cast_expression "(int *)(uVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar18 + 8)" (( "(") (binary_expression "uVar18 + 8" (identifier "uVar18") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "8"))) () ")")))))))) (; ";")) (if_statement "if (0.0 < fVar1) {\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }" (if "if") (parenthesized_expression "(0.0 < fVar1)" (( "(") (binary_expression "0.0 < fVar1" (number_literal "0.0") (< "<") (identifier "fVar1")) () ")")) (compound_statement "{\n                      fVar1 = fVar1 / DAT_002a7ff0;\n                      pcVar16 = (char *)0xff;\n                      if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }\n                    }" ({ "{") (expression_statement "fVar1 = fVar1 / DAT_002a7ff0;" (assignment_expression "fVar1 = fVar1 / DAT_002a7ff0" (identifier "fVar1") (= "=") (binary_expression "fVar1 / DAT_002a7ff0" (identifier "fVar1") (/ "/") (identifier "DAT_002a7ff0"))) (; ";")) (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" (identifier "pcVar16") (= "=") (cast_expression "(char *)0xff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xff"))) (; ";")) (if_statement "if (fVar1 < DAT_002a7ff4) {\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }" (if "if") (parenthesized_expression "(fVar1 < DAT_002a7ff4)" (( "(") (binary_expression "fVar1 < DAT_002a7ff4" (identifier "fVar1") (< "<") (identifier "DAT_002a7ff4")) () ")")) (compound_statement "{\n                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);\n                      }" ({ "{") (expression_statement "pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);" (assignment_expression "pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" (identifier "pcVar16") (= "=") (cast_expression "(char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)(short)ROUND(fVar1 + DAT_0029f124)" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (cast_expression "(short)ROUND(fVar1 + DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(fVar1 + DAT_0029f124)" (identifier "ROUND") (argument_list "(fVar1 + DAT_0029f124)" (( "(") (binary_expression "fVar1 + DAT_0029f124" (identifier "fVar1") (+ "+") (identifier "DAT_0029f124")) () ")")))))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" (identifier "Ascii85Encode") (argument_list "(piVar31,pcVar16)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar16") () ")"))) (; ";")) (expression_statement "iVar27 = iVar27 + puVar13[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + puVar13[0xa6] * 8" (identifier "iVar27") (= "=") (binary_expression "iVar27 + puVar13[0xa6] * 8" (identifier "iVar27") (+ "+") (binary_expression "puVar13[0xa6] * 8" (subscript_expression "puVar13[0xa6]" (identifier "puVar13") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 < (int)puVar13[6])" (( "(") (binary_expression "iVar11 < (int)puVar13[6]" (identifier "iVar11") (< "<") (cast_expression "(int)puVar13[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 < (int)puVar13[7])" (( "(") (binary_expression "iVar7 < (int)puVar13[7]" (identifier "iVar7") (< "<") (cast_expression "(int)puVar13[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00236e87:\n            Ascii85Flush(piVar31,pcVar16);" (statement_identifier "LAB_00236e87") (: ":") (expression_statement "Ascii85Flush(piVar31,pcVar16);" (call_expression "Ascii85Flush(piVar31,pcVar16)" (identifier "Ascii85Flush") (argument_list "(piVar31,pcVar16)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar16") () ")"))) (; ";"))) (goto_statement "goto LAB_00236939;" (goto "goto") (statement_identifier "LAB_00236939") (; ";"))) (} "}"))) (expression_statement "iVar27 = InjectImageBlob();" (assignment_expression "iVar27 = InjectImageBlob()" (identifier "iVar27") (= "=") (call_expression "InjectImageBlob()" (identifier "InjectImageBlob") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) goto LAB_0023707e;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0023707e;" (goto "goto") (statement_identifier "LAB_0023707e") (; ";"))) (labeled_statement "LAB_00236939:\n          DestroyImage(puVar13);" (statement_identifier "LAB_00236939") (: ":") (expression_statement "DestroyImage(puVar13);" (call_expression "DestroyImage(puVar13)" (identifier "DestroyImage") (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";"))) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"\nendstream\n");" (call_expression "WriteBlobString(piVar31,"\nendstream\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"\nendstream\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""\nendstream\n"" (" """) (escape_sequence "\n") (string_content "endstream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"endobj\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" (identifier "uVar33") (= "=") (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")")))) (; ";")) (expression_statement "local_6200[uVar10 + 1] = uVar33;" (assignment_expression "local_6200[uVar10 + 1] = uVar33" (subscript_expression "local_6200[uVar10 + 1]" (identifier "local_6200") ([ "[") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"endobj\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" (identifier "uVar33") (= "=") (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")")))) (; ";")) (expression_statement "local_6200[uVar10 + 2] = uVar33;" (assignment_expression "local_6200[uVar10 + 2] = uVar33" (subscript_expression "local_6200[uVar10 + 2]" (identifier "local_6200") ([ "[") (binary_expression "uVar10 + 2" (identifier "uVar10") (+ "+") (number_literal "2")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"<<\n");" (call_expression "WriteBlobString(piVar31,"<<\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"<<\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""<<\n"" (" """) (string_content "<<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (if_statement "if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {\n            WriteBlobString(piVar31,">>\n");\n          }\n          else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }" (if "if") (parenthesized_expression "(((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2))" (( "(") (binary_expression "((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)" (parenthesized_expression "((*piVar31 == 1) || (0x100 < (uint)piVar31[9]))" (( "(") (binary_expression "(*piVar31 == 1) || (0x100 < (uint)piVar31[9])" (parenthesized_expression "(*piVar31 == 1)" (( "(") (binary_expression "*piVar31 == 1" (pointer_expression "*piVar31" (* "*") (identifier "piVar31")) (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(0x100 < (uint)piVar31[9])" (( "(") (binary_expression "0x100 < (uint)piVar31[9]" (number_literal "0x100") (< "<") (cast_expression "(uint)piVar31[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar31[9]" (identifier "piVar31") ([ "[") (number_literal "9") (] "]")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(local_61a4 < 2)" (( "(") (binary_expression "local_61a4 < 2" (identifier "local_61a4") (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n            WriteBlobString(piVar31,">>\n");\n          }" ({ "{") (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" (identifier "WriteBlobString") (argument_list "(piVar31,">>\n")" (( "(") (identifier "piVar31") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }" (else "else") (compound_statement "{\n            if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }\n            TellBlob(piVar31);\n            WriteBlobString(piVar31,"\nendstream\n");\n          }" ({ "{") (if_statement "if (local_61b8 == 0x10) {\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }\n            else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }" (if "if") (parenthesized_expression "(local_61b8 == 0x10)" (( "(") (binary_expression "local_61b8 == 0x10" (identifier "local_61b8") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[9]) goto LAB_002384f8;\nLAB_00239b55:\n              Ascii85Flush(piVar31);\n            }" ({ "{") (expression_statement "WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");" (call_expression "WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"/Filter [ /ASCII85Decode ]\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""/Filter [ /ASCII85Decode ]\n"" (" """) (string_content "/Filter [ /ASCII85Decode ]") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" (identifier "WriteBlobString") (argument_list "(piVar31,">>\n")" (( "(") (identifier "piVar31") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"stream\n");" (call_expression "WriteBlobString(piVar31,"stream\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"stream\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""stream\n"" (" """) (string_content "stream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" (identifier "Ascii85Initialize") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (if_statement "if (0 < piVar31[9]) goto LAB_002384f8;" (if "if") (parenthesized_expression "(0 < piVar31[9])" (( "(") (binary_expression "0 < piVar31[9]" (number_literal "0") (< "<") (subscript_expression "piVar31[9]" (identifier "piVar31") ([ "[") (number_literal "9") (] "]"))) () ")")) (goto_statement "goto LAB_002384f8;" (goto "goto") (statement_identifier "LAB_002384f8") (; ";"))) (labeled_statement "LAB_00239b55:\n              Ascii85Flush(piVar31);" (statement_identifier "LAB_00239b55") (: ":") (expression_statement "Ascii85Flush(piVar31);" (call_expression "Ascii85Flush(piVar31)" (identifier "Ascii85Flush") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }" (else "else") (compound_statement "{\n              FormatLocaleString();\n              WriteBlobString(piVar31,local_5020);\n              WriteBlobString(piVar31,">>\n");\n              WriteBlobString(piVar31,"stream\n");\n              TellBlob(piVar31);\n              if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }\nLAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;\n            }" ({ "{") (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" (identifier "WriteBlobString") (argument_list "(piVar31,">>\n")" (( "(") (identifier "piVar31") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"stream\n");" (call_expression "WriteBlobString(piVar31,"stream\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"stream\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""stream\n"" (" """) (string_content "stream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (if_statement "if (0 < piVar31[9]) {\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }" (if "if") (parenthesized_expression "(0 < piVar31[9])" (( "(") (binary_expression "0 < piVar31[9]" (number_literal "0") (< "<") (subscript_expression "piVar31[9]" (identifier "piVar31") ([ "[") (number_literal "9") (] "]"))) () ")")) (compound_statement "{\nLAB_002384f8:\n                iVar27 = 0;\n                iVar7 = 0;\n                do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);\n              }" ({ "{") (labeled_statement "LAB_002384f8:\n                iVar27 = 0;" (statement_identifier "LAB_002384f8") (: ":") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";"))) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                } while (iVar7 < piVar31[9]);" (do "do") (compound_statement "{\n                  while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }\n                  if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  WriteBlobByte(piVar31,uVar6);\n                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                  uVar6 = 0;\n                  if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }\n                  iVar7 = iVar7 + 1;\n                  iVar27 = iVar27 + 0x50;\n                  WriteBlobByte(piVar31,uVar6);\n                }" ({ "{") (while_statement "while( true ) {\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);\n                    uVar6 = 0;\n                    if (local_61b8 != 0x10) break;\n                    if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    Ascii85Encode(piVar31,uVar6);\n                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);\n                    uVar6 = 0;\n                    if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }\n                    iVar7 = iVar7 + 1;\n                    iVar27 = iVar27 + 0x50;\n                    Ascii85Encode(piVar31,uVar6);\n                    if (piVar31[9] <= iVar7) goto LAB_00238890;\n                  }" ({ "{") (expression_statement "fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);" (assignment_expression "fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27)" (identifier "fVar1") (= "=") (cast_expression "(float)*(double *)(piVar31[10] + 0x20 + iVar27)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(piVar31[10] + 0x20 + iVar27)" (* "*") (cast_expression "(double *)(piVar31[10] + 0x20 + iVar27)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[10] + 0x20 + iVar27)" (( "(") (binary_expression "piVar31[10] + 0x20 + iVar27" (binary_expression "piVar31[10] + 0x20" (subscript_expression "piVar31[10]" (identifier "piVar31") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x20")) (+ "+") (identifier "iVar27")) () ")")))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_61b8 != 0x10) break;" (if "if") (parenthesized_expression "(local_61b8 != 0x10)" (( "(") (binary_expression "local_61b8 != 0x10" (identifier "local_61b8") (!= "!=") (number_literal "0x10")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (0.0 < fVar1) {\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }" (if "if") (parenthesized_expression "(0.0 < fVar1)" (( "(") (binary_expression "0.0 < fVar1" (number_literal "0.0") (< "<") (identifier "fVar1")) () ")")) (compound_statement "{\n                      uVar6 = 0xff;\n                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }\n                    }" ({ "{") (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }" (if "if") (parenthesized_expression "(fVar1 / DAT_002a7ff0 < DAT_002a7ff4)" (( "(") (binary_expression "fVar1 / DAT_002a7ff0 < DAT_002a7ff4" (binary_expression "fVar1 / DAT_002a7ff0" (identifier "fVar1") (/ "/") (identifier "DAT_002a7ff0")) (< "<") (identifier "DAT_002a7ff4")) () ")")) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                      }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" (identifier "ROUND") (argument_list "(fVar1 / DAT_002a7ff0 + DAT_0029f124)" (( "(") (binary_expression "fVar1 / DAT_002a7ff0 + DAT_0029f124" (binary_expression "fVar1 / DAT_002a7ff0" (identifier "fVar1") (/ "/") (identifier "DAT_002a7ff0")) (+ "+") (identifier "DAT_0029f124")) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" (identifier "Ascii85Encode") (argument_list "(piVar31,uVar6)" (( "(") (identifier "piVar31") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);" (assignment_expression "dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(piVar31[10] + 0x28 + iVar27)" (* "*") (cast_expression "(double *)(piVar31[10] + 0x28 + iVar27)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[10] + 0x28 + iVar27)" (( "(") (binary_expression "piVar31[10] + 0x28 + iVar27" (binary_expression "piVar31[10] + 0x28" (subscript_expression "piVar31[10]" (identifier "piVar31") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x28")) (+ "+") (identifier "iVar27")) () ")"))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" (identifier "Ascii85Encode") (argument_list "(piVar31,uVar6)" (( "(") (identifier "piVar31") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);" (assignment_expression "dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(piVar31[10] + 0x30 + iVar27)" (* "*") (cast_expression "(double *)(piVar31[10] + 0x30 + iVar27)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[10] + 0x30 + iVar27)" (( "(") (binary_expression "piVar31[10] + 0x30 + iVar27" (binary_expression "piVar31[10] + 0x30" (subscript_expression "piVar31[10]" (identifier "piVar31") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x30")) (+ "+") (identifier "iVar27")) () ")"))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < dVar36) {\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                      dVar36 = dVar36 / (double)DAT_002a7ff0;\n                      uVar6 = 0xff;\n                      if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }\n                    }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                      }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar27 = iVar27 + 0x50;" (assignment_expression "iVar27 = iVar27 + 0x50" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 0x50" (identifier "iVar27") (+ "+") (number_literal "0x50"))) (; ";")) (expression_statement "Ascii85Encode(piVar31,uVar6);" (call_expression "Ascii85Encode(piVar31,uVar6)" (identifier "Ascii85Encode") (argument_list "(piVar31,uVar6)" (( "(") (identifier "piVar31") (, ",") (identifier "uVar6") () ")"))) (; ";")) (if_statement "if (piVar31[9] <= iVar7) goto LAB_00238890;" (if "if") (parenthesized_expression "(piVar31[9] <= iVar7)" (( "(") (binary_expression "piVar31[9] <= iVar7" (subscript_expression "piVar31[9]" (identifier "piVar31") ([ "[") (number_literal "9") (] "]")) (<= "<=") (identifier "iVar7")) () ")")) (goto_statement "goto LAB_00238890;" (goto "goto") (statement_identifier "LAB_00238890") (; ";"))) (} "}"))) (if_statement "if (0.0 < fVar1) {\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }" (if "if") (parenthesized_expression "(0.0 < fVar1)" (( "(") (binary_expression "0.0 < fVar1" (number_literal "0.0") (< "<") (identifier "fVar1")) () ")")) (compound_statement "{\n                    uVar6 = 0xff;\n                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }\n                  }" ({ "{") (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }" (if "if") (parenthesized_expression "(fVar1 / DAT_002a7ff0 < DAT_002a7ff4)" (( "(") (binary_expression "fVar1 / DAT_002a7ff0 < DAT_002a7ff4" (binary_expression "fVar1 / DAT_002a7ff0" (identifier "fVar1") (/ "/") (identifier "DAT_002a7ff0")) (< "<") (identifier "DAT_002a7ff4")) () ")")) (compound_statement "{\n                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);\n                    }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124)" (identifier "ROUND") (argument_list "(fVar1 / DAT_002a7ff0 + DAT_0029f124)" (( "(") (binary_expression "fVar1 / DAT_002a7ff0 + DAT_0029f124" (binary_expression "fVar1 / DAT_002a7ff0" (identifier "fVar1") (/ "/") (identifier "DAT_002a7ff0")) (+ "+") (identifier "DAT_0029f124")) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "WriteBlobByte(piVar31,uVar6);" (call_expression "WriteBlobByte(piVar31,uVar6)" (identifier "WriteBlobByte") (argument_list "(piVar31,uVar6)" (( "(") (identifier "piVar31") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);" (assignment_expression "dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(piVar31[10] + 0x28 + iVar27)" (* "*") (cast_expression "(double *)(piVar31[10] + 0x28 + iVar27)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[10] + 0x28 + iVar27)" (( "(") (binary_expression "piVar31[10] + 0x28 + iVar27" (binary_expression "piVar31[10] + 0x28" (subscript_expression "piVar31[10]" (identifier "piVar31") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x28")) (+ "+") (identifier "iVar27")) () ")"))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "WriteBlobByte(piVar31,uVar6);" (call_expression "WriteBlobByte(piVar31,uVar6)" (identifier "WriteBlobByte") (argument_list "(piVar31,uVar6)" (( "(") (identifier "piVar31") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);" (assignment_expression "dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(piVar31[10] + 0x30 + iVar27)" (* "*") (cast_expression "(double *)(piVar31[10] + 0x30 + iVar27)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[10] + 0x30 + iVar27)" (( "(") (binary_expression "piVar31[10] + 0x30 + iVar27" (binary_expression "piVar31[10] + 0x30" (subscript_expression "piVar31[10]" (identifier "piVar31") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x30")) (+ "+") (identifier "iVar27")) () ")"))))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < dVar36) {\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                    dVar36 = dVar36 / (double)DAT_002a7ff0;\n                    uVar6 = 0xff;\n                    if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }\n                  }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (expression_statement "uVar6 = 0xff;" (assignment_expression "uVar6 = 0xff" (identifier "uVar6") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar36 < (double)DAT_002a7ff4) {\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }" (if "if") (parenthesized_expression "(dVar36 < (double)DAT_002a7ff4)" (( "(") (binary_expression "dVar36 < (double)DAT_002a7ff4" (identifier "dVar36") (< "<") (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4"))) () ")")) (compound_statement "{\n                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                    }" ({ "{") (expression_statement "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "uVar6") (= "=") (cast_expression "(undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar27 = iVar27 + 0x50;" (assignment_expression "iVar27 = iVar27 + 0x50" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 0x50" (identifier "iVar27") (+ "+") (number_literal "0x50"))) (; ";")) (expression_statement "WriteBlobByte(piVar31,uVar6);" (call_expression "WriteBlobByte(piVar31,uVar6)" (identifier "WriteBlobByte") (argument_list "(piVar31,uVar6)" (( "(") (identifier "piVar31") (, ",") (identifier "uVar6") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 < piVar31[9])" (( "(") (binary_expression "iVar7 < piVar31[9]" (identifier "iVar7") (< "<") (subscript_expression "piVar31[9]" (identifier "piVar31") ([ "[") (number_literal "9") (] "]"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00238890:\n              if (local_61b8 == 0x10) goto LAB_00239b55;" (statement_identifier "LAB_00238890") (: ":") (if_statement "if (local_61b8 == 0x10) goto LAB_00239b55;" (if "if") (parenthesized_expression "(local_61b8 == 0x10)" (( "(") (binary_expression "local_61b8 == 0x10" (identifier "local_61b8") (== "==") (number_literal "0x10")) () ")")) (goto_statement "goto LAB_00239b55;" (goto "goto") (statement_identifier "LAB_00239b55") (; ";")))) (} "}")))) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"\nendstream\n");" (call_expression "WriteBlobString(piVar31,"\nendstream\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"\nendstream\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""\nendstream\n"" (" """) (escape_sequence "\n") (string_content "endstream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}")))) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"endobj\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" (identifier "uVar33") (= "=") (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")")))) (; ";")) (expression_statement "local_6200[uVar10 + 3] = uVar33;" (assignment_expression "local_6200[uVar10 + 3] = uVar33" (subscript_expression "local_6200[uVar10 + 3]" (identifier "local_6200") ([ "[") (binary_expression "uVar10 + 3" (identifier "uVar10") (+ "+") (number_literal "3")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"endobj\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" (identifier "uVar33") (= "=") (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")")))) (; ";")) (expression_statement "local_6200[uVar10 + 4] = uVar33;" (assignment_expression "local_6200[uVar10 + 4] = uVar33" (subscript_expression "local_6200[uVar10 + 4]" (identifier "local_6200") ([ "[") (binary_expression "uVar10 + 4" (identifier "uVar10") (+ "+") (number_literal "4")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"<<\n");" (call_expression "WriteBlobString(piVar31,"<<\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"<<\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""<<\n"" (" """) (string_content "<<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (if_statement "if (piVar31[0xa5] != 0) {\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }" (if "if") (parenthesized_expression "(piVar31[0xa5] != 0)" (( "(") (binary_expression "piVar31[0xa5] != 0" (subscript_expression "piVar31[0xa5]" (identifier "piVar31") ([ "[") (number_literal "0xa5") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            WriteBlobString(piVar31,"/Type /XObject\n");\n            WriteBlobString(piVar31,"/Subtype /Image\n");\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }\n            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");\n            pcVar34 = "/BitsPerComponent %d\n";\n            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);\n            WriteBlobString(piVar31,local_5020);\n            FormatLocaleString();\n            WriteBlobString(piVar31,local_5020);\n            WriteBlobString(piVar31,">>\n");\n            pcVar16 = pcVar19;\n            WriteBlobString(piVar31,"stream\n");\n            TellBlob(piVar31);\n            if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }\n            iVar7 = piVar31[7] * piVar31[6];\n            iVar11 = AcquireVirtualMemory(iVar7,4);\n            if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }\n            uVar17 = DestroyImage(piVar31);\n            RelinquishMagickMemory(local_6200);\n            iVar7 = uVar17 + 0x318;\n            pcVar34 = "`%s\'";\n            pcVar19 = "MemoryAllocationFailed";\n            ThrowMagickException();\n            uVar10 = param_1[3];\n            uVar18 = uVar17;\n            while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }\n            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);\n            goto LAB_002345f8;\n          }" ({ "{") (expression_statement "WriteBlobString(piVar31,"/Type /XObject\n");" (call_expression "WriteBlobString(piVar31,"/Type /XObject\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"/Type /XObject\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""/Type /XObject\n"" (" """) (string_content "/Type /XObject") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"/Subtype /Image\n");" (call_expression "WriteBlobString(piVar31,"/Subtype /Image\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"/Subtype /Image\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""/Subtype /Image\n"" (" """) (string_content "/Subtype /Image") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (if_statement "if (local_61b8 == 0x10) {\n              pcVar34 = "ASCII85Decode";\n            }\n            else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" (if "if") (parenthesized_expression "(local_61b8 == 0x10)" (( "(") (binary_expression "local_61b8 == 0x10" (identifier "local_61b8") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n              pcVar34 = "ASCII85Decode";\n            }" ({ "{") (expression_statement "pcVar34 = "ASCII85Decode";" (assignment_expression "pcVar34 = "ASCII85Decode"" (identifier "pcVar34") (= "=") (string_literal ""ASCII85Decode"" (" """) (string_content "ASCII85Decode") (" """))) (; ";")) (} "}")) (else_clause "else if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" (else "else") (if_statement "if (local_61b8 == 0x14) {\n              pcVar34 = "FlateDecode";\n            }\n            else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" (if "if") (parenthesized_expression "(local_61b8 == 0x14)" (( "(") (binary_expression "local_61b8 == 0x14" (identifier "local_61b8") (== "==") (number_literal "0x14")) () ")")) (compound_statement "{\n              pcVar34 = "FlateDecode";\n            }" ({ "{") (expression_statement "pcVar34 = "FlateDecode";" (assignment_expression "pcVar34 = "FlateDecode"" (identifier "pcVar34") (= "=") (string_literal ""FlateDecode"" (" """) (string_content "FlateDecode") (" """))) (; ";")) (} "}")) (else_clause "else if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" (else "else") (if_statement "if (local_61b8 == 0xf) {\n              pcVar34 = "LZWDecode";\n            }\n            else {\n              pcVar34 = "RunLengthDecode";\n            }" (if "if") (parenthesized_expression "(local_61b8 == 0xf)" (( "(") (binary_expression "local_61b8 == 0xf" (identifier "local_61b8") (== "==") (number_literal "0xf")) () ")")) (compound_statement "{\n              pcVar34 = "LZWDecode";\n            }" ({ "{") (expression_statement "pcVar34 = "LZWDecode";" (assignment_expression "pcVar34 = "LZWDecode"" (identifier "pcVar34") (= "=") (string_literal ""LZWDecode"" (" """) (string_content "LZWDecode") (" """))) (; ";")) (} "}")) (else_clause "else {\n              pcVar34 = "RunLengthDecode";\n            }" (else "else") (compound_statement "{\n              pcVar34 = "RunLengthDecode";\n            }" ({ "{") (expression_statement "pcVar34 = "RunLengthDecode";" (assignment_expression "pcVar34 = "RunLengthDecode"" (identifier "pcVar34") (= "=") (string_literal ""RunLengthDecode"" (" """) (string_content "RunLengthDecode") (" """))) (; ";")) (} "}")))))))) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/Filter [ /%s ]\n"" (" """) (string_content "/Filter [ /%s ]") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar34") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");" (call_expression "WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"/ColorSpace /DeviceGray\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""/ColorSpace /DeviceGray\n"" (" """) (string_content "/ColorSpace /DeviceGray") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "pcVar34 = "/BitsPerComponent %d\n";" (assignment_expression "pcVar34 = "/BitsPerComponent %d\n"" (identifier "pcVar34") (= "=") (string_literal ""/BitsPerComponent %d\n"" (" """) (string_content "/BitsPerComponent %d") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);" (call_expression "FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/BitsPerComponent %d\n"" (" """) (string_content "/BitsPerComponent %d") (escape_sequence "\n") (" """)) (, ",") (field_expression "local_61cc._0_4_" (identifier "local_61cc") (. ".") (field_identifier "_0_4_")) () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" (identifier "WriteBlobString") (argument_list "(piVar31,">>\n")" (( "(") (identifier "piVar31") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "pcVar16 = pcVar19;" (assignment_expression "pcVar16 = pcVar19" (identifier "pcVar16") (= "=") (identifier "pcVar19")) (; ";")) (expression_statement "WriteBlobString(piVar31,"stream\n");" (call_expression "WriteBlobString(piVar31,"stream\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"stream\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""stream\n"" (" """) (string_content "stream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (if_statement "if (local_61b8 == 0x10) {\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }" (if "if") (parenthesized_expression "(local_61b8 == 0x10)" (( "(") (binary_expression "local_61b8 == 0x10" (identifier "local_61b8") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n              Ascii85Initialize(piVar31);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              Ascii85Flush(piVar31,pcVar16);\nLAB_00237731:\n              TellBlob(piVar31);\n              WriteBlobString(piVar31,"\nendstream\n");\n              goto LAB_00236be1;\n            }" ({ "{") (expression_statement "Ascii85Initialize(piVar31);" (call_expression "Ascii85Initialize(piVar31)" (identifier "Ascii85Initialize") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";")) (if_statement "if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }" (if "if") (parenthesized_expression "(0 < piVar31[7])" (( "(") (binary_expression "0 < piVar31[7]" (number_literal "0") (< "<") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) () ")")) (compound_statement "{\n                local_6224 = (int *)0x0;\n                do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);\n              }" ({ "{") (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" (identifier "local_6224") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                } while ((int)local_6224 < piVar31[7]);" (do "do") (compound_statement "{\n                  pcVar16 = param_3;\n                  iVar7 = GetVirtualPixels();\n                  if (iVar7 == 0) break;\n                  if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                }" ({ "{") (expression_statement "pcVar16 = param_3;" (assignment_expression "pcVar16 = param_3" (identifier "pcVar16") (= "=") (identifier "param_3")) (; ";")) (expression_statement "iVar7 = GetVirtualPixels();" (assignment_expression "iVar7 = GetVirtualPixels()" (identifier "iVar7") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (0 < piVar31[6]) {\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }" (if "if") (parenthesized_expression "(0 < piVar31[6])" (( "(") (binary_expression "0 < piVar31[6]" (number_literal "0") (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (compound_statement "{\n                    iVar27 = 0;\n                    do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);\n                  }" ({ "{") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    } while (iVar27 < piVar31[6]);" (do "do") (compound_statement "{\n                      pcVar16 = (char *)0xff;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }\n                      iVar27 = iVar27 + 1;\n                      Ascii85Encode(piVar31,pcVar16);\n                      iVar7 = iVar7 + piVar31[0xa6] * 8;\n                    }" ({ "{") (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" (identifier "pcVar16") (= "=") (cast_expression "(char *)0xff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xff"))) (; ";")) (if_statement "if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }" (if "if") (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x34) != 0)" (( "(") (binary_expression "*(int *)(piVar31[0xaa] + 0x34) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x34)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x34)" (( "(") (binary_expression "piVar31[0xaa] + 0x34" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        pcVar16 = (char *)0x0;\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }\n                      }" ({ "{") (expression_statement "dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);" (assignment_expression "dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8)" (( "(") (binary_expression "iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8" (identifier "iVar7") (+ "+") (binary_expression "*(int *)(piVar31[0xaa] + 0x38) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x38)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x38)" (( "(") (binary_expression "piVar31[0xaa] + 0x38" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "pcVar16 = (char *)0x0;" (assignment_expression "pcVar16 = (char *)0x0" (identifier "pcVar16") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }\n                        }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (if_statement "if ((double)DAT_002a7ff4 <= dVar36) {\n                            pcVar16 = (char *)0xff;\n                          }\n                          else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" (if "if") (parenthesized_expression "((double)DAT_002a7ff4 <= dVar36)" (( "(") (binary_expression "(double)DAT_002a7ff4 <= dVar36" (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4")) (<= "<=") (identifier "dVar36")) () ")")) (compound_statement "{\n                            pcVar16 = (char *)0xff;\n                          }" ({ "{") (expression_statement "pcVar16 = (char *)0xff;" (assignment_expression "pcVar16 = (char *)0xff" (identifier "pcVar16") (= "=") (cast_expression "(char *)0xff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" (else "else") (compound_statement "{\n                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );\n                          }" ({ "{") (expression_statement "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      );" (assignment_expression "pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" (identifier "pcVar16") (= "=") (cast_expression "(char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124\n                                                                      )" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124\n                                                                      )" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))))) (; ";")) (} "}")))) (} "}"))) (} "}"))) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "Ascii85Encode(piVar31,pcVar16);" (call_expression "Ascii85Encode(piVar31,pcVar16)" (identifier "Ascii85Encode") (argument_list "(piVar31,pcVar16)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar16") () ")"))) (; ";")) (expression_statement "iVar7 = iVar7 + piVar31[0xa6] * 8;" (assignment_expression "iVar7 = iVar7 + piVar31[0xa6] * 8" (identifier "iVar7") (= "=") (binary_expression "iVar7 + piVar31[0xa6] * 8" (identifier "iVar7") (+ "+") (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" (identifier "piVar31") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar27 < piVar31[6])" (( "(") (binary_expression "iVar27 < piVar31[6]" (identifier "iVar27") (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" (identifier "local_6224") (= "=") (cast_expression "(int *)((int)local_6224 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_6224 + 1)" (( "(") (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)local_6224 < piVar31[7])" (( "(") (binary_expression "(int)local_6224 < piVar31[7]" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (< "<") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "Ascii85Flush(piVar31,pcVar16);" (call_expression "Ascii85Flush(piVar31,pcVar16)" (identifier "Ascii85Flush") (argument_list "(piVar31,pcVar16)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar16") () ")"))) (; ";")) (labeled_statement "LAB_00237731:\n              TellBlob(piVar31);" (statement_identifier "LAB_00237731") (: ":") (expression_statement "TellBlob(piVar31);" (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))) (; ";"))) (expression_statement "WriteBlobString(piVar31,"\nendstream\n");" (call_expression "WriteBlobString(piVar31,"\nendstream\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"\nendstream\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""\nendstream\n"" (" """) (escape_sequence "\n") (string_content "endstream") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00236be1;" (goto "goto") (statement_identifier "LAB_00236be1") (; ";")) (} "}"))) (expression_statement "iVar7 = piVar31[7] * piVar31[6];" (assignment_expression "iVar7 = piVar31[7] * piVar31[6]" (identifier "iVar7") (= "=") (binary_expression "piVar31[7] * piVar31[6]" (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]")) (* "*") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "iVar11 = AcquireVirtualMemory(iVar7,4);" (assignment_expression "iVar11 = AcquireVirtualMemory(iVar7,4)" (identifier "iVar11") (= "=") (call_expression "AcquireVirtualMemory(iVar7,4)" (identifier "AcquireVirtualMemory") (argument_list "(iVar7,4)" (( "(") (identifier "iVar7") (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar11 != 0) {\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);\n              if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }\n              if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              RelinquishVirtualMemory(iVar11);\n              if (iVar27 == 0) goto LAB_0023707e;\n              goto LAB_00237731;\n            }" ({ "{") (expression_statement "pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);" (assignment_expression "pcVar34 = (char *)GetVirtualMemoryBlob(iVar11)" (identifier "pcVar34") (= "=") (cast_expression "(char *)GetVirtualMemoryBlob(iVar11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetVirtualMemoryBlob(iVar11)" (identifier "GetVirtualMemoryBlob") (argument_list "(iVar11)" (( "(") (identifier "iVar11") () ")"))))) (; ";")) (if_statement "if (0 < piVar31[7]) {\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }" (if "if") (parenthesized_expression "(0 < piVar31[7])" (( "(") (binary_expression "0 < piVar31[7]" (number_literal "0") (< "<") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) () ")")) (compound_statement "{\n                local_6224 = (int *)0x0;\n                puVar13 = (uint *)pcVar34;\n                do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);\n              }" ({ "{") (expression_statement "local_6224 = (int *)0x0;" (assignment_expression "local_6224 = (int *)0x0" (identifier "local_6224") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar13 = (uint *)pcVar34;" (assignment_expression "puVar13 = (uint *)pcVar34" (identifier "puVar13") (= "=") (cast_expression "(uint *)pcVar34" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar34"))) (; ";")) (do_statement "do {\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                } while ((int)local_6224 < piVar31[7]);" (do "do") (compound_statement "{\n                  iVar27 = GetVirtualPixels();\n                  if (iVar27 == 0) break;\n                  puVar29 = puVar13;\n                  puVar20 = puVar13;\n                  if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }\n                  local_6224 = (int *)((int)local_6224 + 1);\n                  puVar13 = puVar20;\n                }" ({ "{") (expression_statement "iVar27 = GetVirtualPixels();" (assignment_expression "iVar27 = GetVirtualPixels()" (identifier "iVar27") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar27 == 0) break;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar29 = puVar13;" (assignment_expression "puVar29 = puVar13" (identifier "puVar29") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "puVar20 = puVar13;" (assignment_expression "puVar20 = puVar13" (identifier "puVar20") (= "=") (identifier "puVar13")) (; ";")) (if_statement "if (0 < piVar31[6]) {\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }" (if "if") (parenthesized_expression "(0 < piVar31[6])" (( "(") (binary_expression "0 < piVar31[6]" (number_literal "0") (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (compound_statement "{\n                    do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);\n                  }" ({ "{") (do_statement "do {\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);" (do "do") (compound_statement "{\n                      puVar20 = (uint *)((int)puVar29 + 1);\n                      cVar21 = -1;\n                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }\n                      *(char *)puVar29 = cVar21;\n                      iVar27 = iVar27 + piVar31[0xa6] * 8;\n                      puVar29 = puVar20;\n                    }" ({ "{") (expression_statement "puVar20 = (uint *)((int)puVar29 + 1);" (assignment_expression "puVar20 = (uint *)((int)puVar29 + 1)" (identifier "puVar20") (= "=") (cast_expression "(uint *)((int)puVar29 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar29 + 1)" (( "(") (binary_expression "(int)puVar29 + 1" (cast_expression "(int)puVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar29")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" (identifier "cVar21") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (*(int *)(piVar31[0xaa] + 0x34) != 0) {\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }" (if "if") (parenthesized_expression "(*(int *)(piVar31[0xaa] + 0x34) != 0)" (( "(") (binary_expression "*(int *)(piVar31[0xaa] + 0x34) != 0" (pointer_expression "*(int *)(piVar31[0xaa] + 0x34)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x34)" (( "(") (binary_expression "piVar31[0xaa] + 0x34" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);\n                        cVar21 = '\0';\n                        if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }\n                      }" ({ "{") (expression_statement "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);" (assignment_expression "dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8)" (identifier "dVar36") (= "=") (pointer_expression "*(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8)" (( "(") (binary_expression "iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8" (identifier "iVar27") (+ "+") (binary_expression "*(int *)(piVar31[0xaa] + 0x38) * 8" (pointer_expression "*(int *)(piVar31[0xaa] + 0x38)" (* "*") (cast_expression "(int *)(piVar31[0xaa] + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar31[0xaa] + 0x38)" (( "(") (binary_expression "piVar31[0xaa] + 0x38" (subscript_expression "piVar31[0xaa]" (identifier "piVar31") ([ "[") (number_literal "0xaa") (] "]")) (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "cVar21 = '\0';" (assignment_expression "cVar21 = '\0'" (identifier "cVar21") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (0.0 < dVar36) {\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" (if "if") (parenthesized_expression "(0.0 < dVar36)" (( "(") (binary_expression "0.0 < dVar36" (number_literal "0.0") (< "<") (identifier "dVar36")) () ")")) (compound_statement "{\n                          dVar36 = dVar36 / (double)DAT_002a7ff0;\n                          if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }\n                        }" ({ "{") (expression_statement "dVar36 = dVar36 / (double)DAT_002a7ff0;" (assignment_expression "dVar36 = dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (= "=") (binary_expression "dVar36 / (double)DAT_002a7ff0" (identifier "dVar36") (/ "/") (cast_expression "(double)DAT_002a7ff0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff0")))) (; ";")) (if_statement "if ((double)DAT_002a7ff4 <= dVar36) {\n                            cVar21 = -1;\n                          }\n                          else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" (if "if") (parenthesized_expression "((double)DAT_002a7ff4 <= dVar36)" (( "(") (binary_expression "(double)DAT_002a7ff4 <= dVar36" (cast_expression "(double)DAT_002a7ff4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002a7ff4")) (<= "<=") (identifier "dVar36")) () ")")) (compound_statement "{\n                            cVar21 = -1;\n                          }" ({ "{") (expression_statement "cVar21 = -1;" (assignment_expression "cVar21 = -1" (identifier "cVar21") (= "=") (number_literal "-1")) (; ";")) (} "}")) (else_clause "else {\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" (else "else") (compound_statement "{\n                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);\n                          }" ({ "{") (expression_statement "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);" (assignment_expression "cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124)" (identifier "cVar21") (= "=") (cast_expression "(char)(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (cast_expression "(short)ROUND(dVar36 + (double)DAT_0029f124)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (call_expression "ROUND(dVar36 + (double)DAT_0029f124)" (identifier "ROUND") (argument_list "(dVar36 + (double)DAT_0029f124)" (( "(") (binary_expression "dVar36 + (double)DAT_0029f124" (identifier "dVar36") (+ "+") (cast_expression "(double)DAT_0029f124" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f124"))) () ")")))))) (; ";")) (} "}")))) (} "}"))) (} "}"))) (expression_statement "*(char *)puVar29 = cVar21;" (assignment_expression "*(char *)puVar29 = cVar21" (pointer_expression "*(char *)puVar29" (* "*") (cast_expression "(char *)puVar29" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar29"))) (= "=") (identifier "cVar21")) (; ";")) (expression_statement "iVar27 = iVar27 + piVar31[0xa6] * 8;" (assignment_expression "iVar27 = iVar27 + piVar31[0xa6] * 8" (identifier "iVar27") (= "=") (binary_expression "iVar27 + piVar31[0xa6] * 8" (identifier "iVar27") (+ "+") (binary_expression "piVar31[0xa6] * 8" (subscript_expression "piVar31[0xa6]" (identifier "piVar31") ([ "[") (number_literal "0xa6") (] "]")) (* "*") (number_literal "8")))) (; ";")) (expression_statement "puVar29 = puVar20;" (assignment_expression "puVar29 = puVar20" (identifier "puVar29") (= "=") (identifier "puVar20")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)puVar20 - (int)puVar13 < piVar31[6])" (( "(") (binary_expression "(int)puVar20 - (int)puVar13 < piVar31[6]" (binary_expression "(int)puVar20 - (int)puVar13" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (- "-") (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13"))) (< "<") (subscript_expression "piVar31[6]" (identifier "piVar31") ([ "[") (number_literal "6") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_6224 = (int *)((int)local_6224 + 1);" (assignment_expression "local_6224 = (int *)((int)local_6224 + 1)" (identifier "local_6224") (= "=") (cast_expression "(int *)((int)local_6224 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_6224 + 1)" (( "(") (binary_expression "(int)local_6224 + 1" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "puVar13 = puVar20;" (assignment_expression "puVar13 = puVar20" (identifier "puVar13") (= "=") (identifier "puVar20")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)local_6224 < piVar31[7])" (( "(") (binary_expression "(int)local_6224 < piVar31[7]" (cast_expression "(int)local_6224" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6224")) (< "<") (subscript_expression "piVar31[7]" (identifier "piVar31") ([ "[") (number_literal "7") (] "]"))) () ")")) (; ";")) (} "}"))) (if_statement "if (local_61b8 == 0xf) {\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }\n              else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }" (if "if") (parenthesized_expression "(local_61b8 == 0xf)" (( "(") (binary_expression "local_61b8 == 0xf" (identifier "local_61b8") (== "==") (number_literal "0xf")) () ")")) (compound_statement "{\n                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }" ({ "{") (expression_statement "iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);" (assignment_expression "iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3)" (identifier "iVar27") (= "=") (call_expression "LZWEncodeImage(piVar31,iVar7,pcVar34,param_3)" (identifier "LZWEncodeImage") (argument_list "(piVar31,iVar7,pcVar34,param_3)" (( "(") (identifier "piVar31") (, ",") (identifier "iVar7") (, ",") (identifier "pcVar34") (, ",") (identifier "param_3") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }" (else "else") (compound_statement "{\n                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);\n              }" ({ "{") (expression_statement "iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);" (assignment_expression "iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3)" (identifier "iVar27") (= "=") (call_expression "PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3)" (identifier "PackbitsEncodeImage") (argument_list "(piVar31,iVar7,pcVar34,param_3)" (( "(") (identifier "piVar31") (, ",") (identifier "iVar7") (, ",") (identifier "pcVar34") (, ",") (identifier "param_3") () ")")))) (; ";")) (} "}")))) (expression_statement "RelinquishVirtualMemory(iVar11);" (call_expression "RelinquishVirtualMemory(iVar11)" (identifier "RelinquishVirtualMemory") (argument_list "(iVar11)" (( "(") (identifier "iVar11") () ")"))) (; ";")) (if_statement "if (iVar27 == 0) goto LAB_0023707e;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0023707e;" (goto "goto") (statement_identifier "LAB_0023707e") (; ";"))) (goto_statement "goto LAB_00237731;" (goto "goto") (statement_identifier "LAB_00237731") (; ";")) (} "}"))) (expression_statement "uVar17 = DestroyImage(piVar31);" (assignment_expression "uVar17 = DestroyImage(piVar31)" (identifier "uVar17") (= "=") (call_expression "DestroyImage(piVar31)" (identifier "DestroyImage") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")")))) (; ";")) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" (identifier "RelinquishMagickMemory") (argument_list "(local_6200)" (( "(") (identifier "local_6200") () ")"))) (; ";")) (expression_statement "iVar7 = uVar17 + 0x318;" (assignment_expression "iVar7 = uVar17 + 0x318" (identifier "iVar7") (= "=") (binary_expression "uVar17 + 0x318" (identifier "uVar17") (+ "+") (number_literal "0x318"))) (; ";")) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" (identifier "pcVar34") (= "=") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" (identifier "pcVar19") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" (identifier "ThrowMagickException") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar10 = param_1[3];" (assignment_expression "uVar10 = param_1[3]" (identifier "uVar10") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar18 = uVar17;" (assignment_expression "uVar18 = uVar17" (identifier "uVar18") (= "=") (identifier "uVar17")) (; ";")) (while_statement "while (uVar4 = uVar17, uVar10 != 0) {\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }" (while "while") (parenthesized_expression "(uVar4 = uVar17, uVar10 != 0)" (( "(") (comma_expression "uVar4 = uVar17, uVar10 != 0" (assignment_expression "uVar4 = uVar17" (identifier "uVar4") (= "=") (identifier "uVar17")) (, ",") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n              uVar10 = *(uint *)(uVar4 + 0x333c);\n              uVar17 = uVar10;\n              uVar18 = uVar4;\n            }" ({ "{") (expression_statement "uVar10 = *(uint *)(uVar4 + 0x333c);" (assignment_expression "uVar10 = *(uint *)(uVar4 + 0x333c)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(uVar4 + 0x333c)" (* "*") (cast_expression "(uint *)(uVar4 + 0x333c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar4 + 0x333c)" (( "(") (binary_expression "uVar4 + 0x333c" (identifier "uVar4") (+ "+") (number_literal "0x333c")) () ")"))))) (; ";")) (expression_statement "uVar17 = uVar10;" (assignment_expression "uVar17 = uVar10" (identifier "uVar17") (= "=") (identifier "uVar10")) (; ";")) (expression_statement "uVar18 = uVar4;" (assignment_expression "uVar18 = uVar4" (identifier "uVar18") (= "=") (identifier "uVar4")) (; ";")) (} "}"))) (expression_statement "CloseBlob(uVar18,pcVar19,pcVar34,iVar7);" (call_expression "CloseBlob(uVar18,pcVar19,pcVar34,iVar7)" (identifier "CloseBlob") (argument_list "(uVar18,pcVar19,pcVar34,iVar7)" (( "(") (identifier "uVar18") (, ",") (identifier "pcVar19") (, ",") (identifier "pcVar34") (, ",") (identifier "iVar7") () ")"))) (; ";")) (goto_statement "goto LAB_002345f8;" (goto "goto") (statement_identifier "LAB_002345f8") (; ";")) (} "}"))) (expression_statement "WriteBlobString(piVar31,">>\n");" (call_expression "WriteBlobString(piVar31,">>\n")" (identifier "WriteBlobString") (argument_list "(piVar31,">>\n")" (( "(") (identifier "piVar31") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (labeled_statement "LAB_00236be1:\n          WriteBlobString(piVar31,"endobj\n");" (statement_identifier "LAB_00236be1") (: ":") (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"endobj\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";"))) (expression_statement "local_61f4 = uVar10 + 6;" (assignment_expression "local_61f4 = uVar10 + 6" (identifier "local_61f4") (= "=") (binary_expression "uVar10 + 6" (identifier "uVar10") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "uVar33 = TellBlob(piVar31);" (assignment_expression "uVar33 = TellBlob(piVar31)" (identifier "uVar33") (= "=") (call_expression "TellBlob(piVar31)" (identifier "TellBlob") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")")))) (; ";")) (expression_statement "local_6200[uVar10 + 5] = uVar33;" (assignment_expression "local_6200[uVar10 + 5] = uVar33" (subscript_expression "local_6200[uVar10 + 5]" (identifier "local_6200") ([ "[") (binary_expression "uVar10 + 5" (identifier "uVar10") (+ "+") (number_literal "5")) (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,local_5020);" (call_expression "WriteBlobString(piVar31,local_5020)" (identifier "WriteBlobString") (argument_list "(piVar31,local_5020)" (( "(") (identifier "piVar31") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(piVar31,"endobj\n");" (call_expression "WriteBlobString(piVar31,"endobj\n")" (identifier "WriteBlobString") (argument_list "(piVar31,"endobj\n")" (( "(") (identifier "piVar31") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "iVar7 = GetNextImageInList(piVar31);" (assignment_expression "iVar7 = GetNextImageInList(piVar31)" (identifier "iVar7") (= "=") (call_expression "GetNextImageInList(piVar31)" (identifier "GetNextImageInList") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")")))) (; ";")) (expression_statement "local_6224 = piVar31;" (assignment_expression "local_6224 = piVar31" (identifier "local_6224") (= "=") (identifier "piVar31")) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_00239247;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00239247;" (goto "goto") (statement_identifier "LAB_00239247") (; ";"))) (expression_statement "local_6224 = (int *)SyncNextImageInList(piVar31);" (assignment_expression "local_6224 = (int *)SyncNextImageInList(piVar31)" (identifier "local_6224") (= "=") (cast_expression "(int *)SyncNextImageInList(piVar31)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "SyncNextImageInList(piVar31)" (identifier "SyncNextImageInList") (argument_list "(piVar31)" (( "(") (identifier "piVar31") () ")"))))) (; ";")) (expression_statement "local_620c = (char *)0x0;" (assignment_expression "local_620c = (char *)0x0" (identifier "local_620c") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar7 = SetImageProgress();" (assignment_expression "iVar7 = SetImageProgress()" (identifier "iVar7") (= "=") (call_expression "SetImageProgress()" (identifier "SetImageProgress") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;" (if "if") (parenthesized_expression "((iVar7 == 0) || (param_1[3] == 0))" (( "(") (binary_expression "(iVar7 == 0) || (param_1[3] == 0)" (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(param_1[3] == 0)" (( "(") (binary_expression "param_1[3] == 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_00239247;" (goto "goto") (statement_identifier "LAB_00239247") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (while_statement "while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }" (while "while") (parenthesized_expression "(iVar27 = GetNextImageInList(piVar8), iVar27 != 0)" (( "(") (comma_expression "iVar27 = GetNextImageInList(piVar8), iVar27 != 0" (assignment_expression "iVar27 = GetNextImageInList(piVar8)" (identifier "iVar27") (= "=") (call_expression "GetNextImageInList(piVar8)" (identifier "GetNextImageInList") (argument_list "(piVar8)" (( "(") (identifier "piVar8") () ")")))) (, ",") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);\n        if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }\n        iVar7 = iVar7 + 0xe;\n        FormatLocaleString();\n        WriteBlobString(param_2,local_5020);\n        piVar8 = (int *)GetNextImageInList(piVar8);\n      }" ({ "{") (expression_statement "iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);" (assignment_expression "iVar27 = GetImageProfile(piVar8,&DAT_002a81ca)" (identifier "iVar27") (= "=") (call_expression "GetImageProfile(piVar8,&DAT_002a81ca)" (identifier "GetImageProfile") (argument_list "(piVar8,&DAT_002a81ca)" (( "(") (identifier "piVar8") (, ",") (pointer_expression "&DAT_002a81ca" (& "&") (identifier "DAT_002a81ca")) () ")")))) (; ";")) (if_statement "if (iVar27 != 0) {\n          iVar7 = iVar7 + 2;\n        }" (if "if") (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar7 = iVar7 + 2;\n        }" ({ "{") (expression_statement "iVar7 = iVar7 + 2;" (assignment_expression "iVar7 = iVar7 + 2" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 2" (identifier "iVar7") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "iVar7 = iVar7 + 0xe;" (assignment_expression "iVar7 = iVar7 + 0xe" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 0xe" (identifier "iVar7") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(param_2,local_5020);" (call_expression "WriteBlobString(param_2,local_5020)" (identifier "WriteBlobString") (argument_list "(param_2,local_5020)" (( "(") (identifier "param_2") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "piVar8 = (int *)GetNextImageInList(piVar8);" (assignment_expression "piVar8 = (int *)GetNextImageInList(piVar8)" (identifier "piVar8") (= "=") (cast_expression "(int *)GetNextImageInList(piVar8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetNextImageInList(piVar8)" (identifier "GetNextImageInList") (argument_list "(piVar8)" (( "(") (identifier "piVar8") () ")"))))) (; ";")) (} "}"))) (expression_statement "pcVar34 = (char *)0x8;" (assignment_expression "pcVar34 = (char *)0x8" (identifier "pcVar34") (= "=") (cast_expression "(char *)0x8" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8"))) (; ";")) (expression_statement "local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);" (assignment_expression "local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8)" (identifier "local_6200") (= "=") (cast_expression "(undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "ResizeQuantumMemory(local_6200,iVar7 + 0x800,8)" (identifier "ResizeQuantumMemory") (argument_list "(local_6200,iVar7 + 0x800,8)" (( "(") (identifier "local_6200") (, ",") (binary_expression "iVar7 + 0x800" (identifier "iVar7") (+ "+") (number_literal "0x800")) (, ",") (number_literal "8") () ")"))))) (; ";")) (if_statement "if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;" (if "if") (parenthesized_expression "(local_6200 != (undefined8 *)0x0)" (( "(") (binary_expression "local_6200 != (undefined8 *)0x0" (identifier "local_6200") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00234b1f;" (goto "goto") (statement_identifier "LAB_00234b1f") (; ";"))) (expression_statement "pcVar34 = "`%s\'";" (assignment_expression "pcVar34 = "`%s\'"" (identifier "pcVar34") (= "=") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "pcVar19 = "MemoryAllocationFailed";" (assignment_expression "pcVar19 = "MemoryAllocationFailed"" (identifier "pcVar19") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "ThrowMagickException();" (call_expression "ThrowMagickException()" (identifier "ThrowMagickException") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar8 = (int *)param_1[3];" (assignment_expression "piVar8 = (int *)param_1[3]" (identifier "piVar8") (= "=") (cast_expression "(int *)param_1[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (while_statement "while (piVar5 = param_2, piVar8 != (int *)0x0) {\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }" (while "while") (parenthesized_expression "(piVar5 = param_2, piVar8 != (int *)0x0)" (( "(") (comma_expression "piVar5 = param_2, piVar8 != (int *)0x0" (assignment_expression "piVar5 = param_2" (identifier "piVar5") (= "=") (identifier "param_2")) (, ",") (binary_expression "piVar8 != (int *)0x0" (identifier "piVar8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n        piVar8 = (int *)piVar5[0xccf];\n        param_2 = piVar8;\n        piVar31 = piVar5;\n      }" ({ "{") (expression_statement "piVar8 = (int *)piVar5[0xccf];" (assignment_expression "piVar8 = (int *)piVar5[0xccf]" (identifier "piVar8") (= "=") (cast_expression "(int *)piVar5[0xccf]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar5[0xccf]" (identifier "piVar5") ([ "[") (number_literal "0xccf") (] "]")))) (; ";")) (expression_statement "param_2 = piVar8;" (assignment_expression "param_2 = piVar8" (identifier "param_2") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "piVar31 = piVar5;" (assignment_expression "piVar31 = piVar5" (identifier "piVar31") (= "=") (identifier "piVar5")) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00239234:\n    iVar27 = 0;" (statement_identifier "LAB_00239234") (: ":") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";"))) (expression_statement "CloseBlob(piVar31,pcVar19,pcVar34,piVar25);" (call_expression "CloseBlob(piVar31,pcVar19,pcVar34,piVar25)" (identifier "CloseBlob") (argument_list "(piVar31,pcVar19,pcVar34,piVar25)" (( "(") (identifier "piVar31") (, ",") (identifier "pcVar19") (, ",") (identifier "pcVar34") (, ",") (identifier "piVar25") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_002345fa;" (goto "goto") (statement_identifier "LAB_002345fa") (; ";")) (labeled_statement "LAB_00239247:\n  uVar33 = TellBlob(local_6224,local_620c);" (statement_identifier "LAB_00239247") (: ":") (expression_statement "uVar33 = TellBlob(local_6224,local_620c);" (assignment_expression "uVar33 = TellBlob(local_6224,local_620c)" (identifier "uVar33") (= "=") (call_expression "TellBlob(local_6224,local_620c)" (identifier "TellBlob") (argument_list "(local_6224,local_620c)" (( "(") (identifier "local_6224") (, ",") (identifier "local_620c") () ")")))) (; ";"))) (expression_statement "local_6200[local_61f4] = uVar33;" (assignment_expression "local_6200[local_61f4] = uVar33" (subscript_expression "local_6200[local_61f4]" (identifier "local_6200") ([ "[") (identifier "local_61f4") (] "]")) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"<<\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""<<\n"" (" """) (string_content "<<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "iVar7 = LocaleCompare(puVar9,&DAT_002a2413);" (assignment_expression "iVar7 = LocaleCompare(puVar9,&DAT_002a2413)" (identifier "iVar7") (= "=") (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" (identifier "LocaleCompare") (argument_list "(puVar9,&DAT_002a2413)" (( "(") (identifier "puVar9") (, ",") (pointer_expression "&DAT_002a2413" (& "&") (identifier "DAT_002a2413")) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }\n  else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar12 = FUN_00234220();\n    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);\n    DestroyString(uVar12);\n  }" ({ "{") (expression_statement "uVar12 = FUN_00234220();" (assignment_expression "uVar12 = FUN_00234220()" (identifier "uVar12") (= "=") (call_expression "FUN_00234220()" (identifier "FUN_00234220") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/Title (%s)\n",uVar12)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/Title (%s)\n"" (" """) (string_content "/Title (%s)") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "DestroyString(uVar12);" (call_expression "DestroyString(uVar12)" (identifier "DestroyString") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    iVar7 = FUN_00234080();\n    puVar13 = local_6020;\n    if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar7 = FUN_00234080();" (assignment_expression "iVar7 = FUN_00234080()" (identifier "iVar7") (= "=") (call_expression "FUN_00234080()" (identifier "FUN_00234080") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar13 = local_6020;" (assignment_expression "puVar13 = local_6020" (identifier "puVar13") (= "=") (identifier "local_6020")) (; ";")) (if_statement "if (iVar7 == 0) {\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }\n    else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);\n      bVar32 = (uVar17 & 0x8080) == 0;\n      if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }\n      pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));\n      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);\n      pcVar19 = (char *)0x0;\n      if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }\n    }" ({ "{") (do_statement "do {\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      } while (uVar18 == 0);" (do "do") (compound_statement "{\n        puVar29 = puVar13;\n        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;\n        uVar18 = uVar17 & 0x80808080;\n        puVar13 = puVar29 + 1;\n      }" ({ "{") (expression_statement "puVar29 = puVar13;" (assignment_expression "puVar29 = puVar13" (identifier "puVar29") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;" (assignment_expression "uVar17 = *puVar29 + 0xfefefeff & ~*puVar29" (identifier "uVar17") (= "=") (binary_expression "*puVar29 + 0xfefefeff & ~*puVar29" (binary_expression "*puVar29 + 0xfefefeff" (pointer_expression "*puVar29" (* "*") (identifier "puVar29")) (+ "+") (number_literal "0xfefefeff")) (& "&") (unary_expression "~*puVar29" (~ "~") (pointer_expression "*puVar29" (* "*") (identifier "puVar29"))))) (; ";")) (expression_statement "uVar18 = uVar17 & 0x80808080;" (assignment_expression "uVar18 = uVar17 & 0x80808080" (identifier "uVar18") (= "=") (binary_expression "uVar17 & 0x80808080" (identifier "uVar17") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar13 = puVar29 + 1;" (assignment_expression "puVar13 = puVar29 + 1" (identifier "puVar13") (= "=") (binary_expression "puVar29 + 1" (identifier "puVar29") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar18 == 0)" (( "(") (binary_expression "uVar18 == 0" (identifier "uVar18") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar32 = (uVar17 & 0x8080) == 0;" (assignment_expression "bVar32 = (uVar17 & 0x8080) == 0" (identifier "bVar32") (= "=") (binary_expression "(uVar17 & 0x8080) == 0" (parenthesized_expression "(uVar17 & 0x8080)" (( "(") (binary_expression "uVar17 & 0x8080" (identifier "uVar17") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar32) {\n        uVar18 = uVar18 >> 0x10;\n      }" (if "if") (parenthesized_expression "(bVar32)" (( "(") (identifier "bVar32") () ")")) (compound_statement "{\n        uVar18 = uVar18 >> 0x10;\n      }" ({ "{") (expression_statement "uVar18 = uVar18 >> 0x10;" (assignment_expression "uVar18 = uVar18 >> 0x10" (identifier "uVar18") (= "=") (binary_expression "uVar18 >> 0x10" (identifier "uVar18") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar32) {\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }" (if "if") (parenthesized_expression "(bVar32)" (( "(") (identifier "bVar32") () ")")) (compound_statement "{\n        puVar13 = (uint *)((int)puVar29 + 6);\n      }" ({ "{") (expression_statement "puVar13 = (uint *)((int)puVar29 + 6);" (assignment_expression "puVar13 = (uint *)((int)puVar29 + 6)" (identifier "puVar13") (= "=") (cast_expression "(uint *)((int)puVar29 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar29 + 6)" (( "(") (binary_expression "(int)puVar29 + 6" (cast_expression "(int)puVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar29")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));" (assignment_expression "pcVar34 = (char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020))" (identifier "pcVar34") (= "=") (cast_expression "(char *)((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020))" (( "(") (binary_expression "(int)puVar13 +\n                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020)" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (+ "+") (parenthesized_expression "((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020)" (( "(") (binary_expression "(-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020" (parenthesized_expression "(-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))" (( "(") (binary_expression "-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)" (number_literal "-3") (- "-") (cast_expression "(uint)CARRY1((byte)uVar18,(byte)uVar18)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY1((byte)uVar18,(byte)uVar18)" (identifier "CARRY1") (argument_list "((byte)uVar18,(byte)uVar18)" (( "(") (cast_expression "(byte)uVar18" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar18")) (, ",") (cast_expression "(byte)uVar18" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar18")) () ")"))))) () ")")) (- "-") (cast_expression "(int)local_6020" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6020"))) () ")"))) () ")")))) (; ";")) (expression_statement "puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);" (assignment_expression "puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4)" (identifier "puVar13") (= "=") (cast_expression "(uint *)AcquireQuantumMemory(pcVar34 + 1,4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireQuantumMemory(pcVar34 + 1,4)" (identifier "AcquireQuantumMemory") (argument_list "(pcVar34 + 1,4)" (( "(") (binary_expression "pcVar34 + 1" (identifier "pcVar34") (+ "+") (number_literal "1")) (, ",") (number_literal "4") () ")"))))) (; ";")) (expression_statement "pcVar19 = (char *)0x0;" (assignment_expression "pcVar19 = (char *)0x0" (identifier "pcVar19") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (puVar13 != (uint *)0x0) {\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }" (if "if") (parenthesized_expression "(puVar13 != (uint *)0x0)" (( "(") (binary_expression "puVar13 != (uint *)0x0" (identifier "puVar13") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);\nLAB_00239c56:\n        uStack_2020 = 0x33323130;\n        uStack_201c = 0x37363534;\n        uStack_2018 = 0x42413938;\n        uStack_2014 = 0x46454443;\n        FormatLocaleString(local_5020,0x1000,"/Title <");\n        WriteBlobString(local_6224,local_5020);\n        if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }\n        FormatLocaleString(local_5020,0x1000,">\n");\n        RelinquishMagickMemory(puVar13);\n      }" ({ "{") (do_statement "do {\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        } while (pcVar34 + 1 != pcVar19);" (do "do") (compound_statement "{\n          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);\n          pcVar19 = pcVar19 + 1;\n        }" ({ "{") (expression_statement "puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);" (assignment_expression "puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19)" (subscript_expression "puVar13[(int)pcVar19]" (identifier "puVar13") ([ "[") (cast_expression "(int)pcVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar19")) (] "]")) (= "=") (binary_expression "(uint)*(byte *)((int)local_6020 + (int)pcVar19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)local_6020 + (int)pcVar19)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_6020 + (int)pcVar19)" (( "(") (binary_expression "(int)local_6020 + (int)pcVar19" (cast_expression "(int)local_6020" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_6020")) (+ "+") (cast_expression "(int)pcVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar19"))) () ")"))))) (; ";")) (expression_statement "pcVar19 = pcVar19 + 1;" (assignment_expression "pcVar19 = pcVar19 + 1" (identifier "pcVar19") (= "=") (binary_expression "pcVar19 + 1" (identifier "pcVar19") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar34 + 1 != pcVar19)" (( "(") (binary_expression "pcVar34 + 1 != pcVar19" (binary_expression "pcVar34 + 1" (identifier "pcVar34") (+ "+") (number_literal "1")) (!= "!=") (identifier "pcVar19")) () ")")) (; ";")) (labeled_statement "LAB_00239c56:\n        uStack_2020 = 0x33323130;" (statement_identifier "LAB_00239c56") (: ":") (expression_statement "uStack_2020 = 0x33323130;" (assignment_expression "uStack_2020 = 0x33323130" (identifier "uStack_2020") (= "=") (number_literal "0x33323130")) (; ";"))) (expression_statement "uStack_201c = 0x37363534;" (assignment_expression "uStack_201c = 0x37363534" (identifier "uStack_201c") (= "=") (number_literal "0x37363534")) (; ";")) (expression_statement "uStack_2018 = 0x42413938;" (assignment_expression "uStack_2018 = 0x42413938" (identifier "uStack_2018") (= "=") (number_literal "0x42413938")) (; ";")) (expression_statement "uStack_2014 = 0x46454443;" (assignment_expression "uStack_2014 = 0x46454443" (identifier "uStack_2014") (= "=") (number_literal "0x46454443")) (; ";")) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Title <");" (call_expression "FormatLocaleString(local_5020,0x1000,"/Title <")" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/Title <")" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/Title <"" (" """) (string_content "/Title <") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (if_statement "if (0 < (int)pcVar34) {\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }" (if "if") (parenthesized_expression "(0 < (int)pcVar34)" (( "(") (binary_expression "0 < (int)pcVar34" (number_literal "0") (< "<") (cast_expression "(int)pcVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar34"))) () ")")) (compound_statement "{\n          puVar29 = puVar13;\n          do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);\n        }" ({ "{") (expression_statement "puVar29 = puVar13;" (assignment_expression "puVar29 = puVar13" (identifier "puVar29") (= "=") (identifier "puVar13")) (; ";")) (do_statement "do {\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          } while (puVar20 != puVar13 + (int)pcVar34);" (do "do") (compound_statement "{\n            puVar20 = puVar29 + 1;\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,0x30);\n            WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));\n            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));\n            puVar29 = puVar20;\n          }" ({ "{") (expression_statement "puVar20 = puVar29 + 1;" (assignment_expression "puVar20 = puVar29 + 1" (identifier "puVar20") (= "=") (binary_expression "puVar29 + 1" (identifier "puVar29") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "WriteBlobByte(local_6224,0x30);" (call_expression "WriteBlobByte(local_6224,0x30)" (identifier "WriteBlobByte") (argument_list "(local_6224,0x30)" (( "(") (identifier "local_6224") (, ",") (number_literal "0x30") () ")"))) (; ";")) (expression_statement "WriteBlobByte(local_6224,0x30);" (call_expression "WriteBlobByte(local_6224,0x30)" (identifier "WriteBlobByte") (argument_list "(local_6224,0x30)" (( "(") (identifier "local_6224") (, ",") (number_literal "0x30") () ")"))) (; ";")) (expression_statement "WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));" (call_expression "WriteBlobByte(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)))" (identifier "WriteBlobByte") (argument_list "(local_6224,\n                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)))" (( "(") (identifier "local_6224") (, ",") (pointer_expression "*(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU))" (* "*") (cast_expression "(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU))" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU))" (( "(") (binary_expression "(int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)" (cast_expression "(int)&uStack_2020" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_2020" (& "&") (identifier "uStack_2020"))) (+ "+") (parenthesized_expression "((int)*puVar29 >> 4 & 0xfU)" (( "(") (binary_expression "(int)*puVar29 >> 4 & 0xfU" (binary_expression "(int)*puVar29 >> 4" (cast_expression "(int)*puVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*puVar29" (* "*") (identifier "puVar29"))) (>> ">>") (number_literal "4")) (& "&") (number_literal "0xfU")) () ")"))) () ")")))) () ")"))) (; ";")) (expression_statement "WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));" (call_expression "WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)))" (identifier "WriteBlobByte") (argument_list "(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)))" (( "(") (identifier "local_6224") (, ",") (pointer_expression "*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf))" (* "*") (cast_expression "(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf))" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&uStack_2020 + (*puVar29 & 0xf))" (( "(") (binary_expression "(int)&uStack_2020 + (*puVar29 & 0xf)" (cast_expression "(int)&uStack_2020" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_2020" (& "&") (identifier "uStack_2020"))) (+ "+") (parenthesized_expression "(*puVar29 & 0xf)" (( "(") (binary_expression "*puVar29 & 0xf" (pointer_expression "*puVar29" (* "*") (identifier "puVar29")) (& "&") (number_literal "0xf")) () ")"))) () ")")))) () ")"))) (; ";")) (expression_statement "puVar29 = puVar20;" (assignment_expression "puVar29 = puVar20" (identifier "puVar29") (= "=") (identifier "puVar20")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar20 != puVar13 + (int)pcVar34)" (( "(") (binary_expression "puVar20 != puVar13 + (int)pcVar34" (identifier "puVar20") (!= "!=") (binary_expression "puVar13 + (int)pcVar34" (identifier "puVar13") (+ "+") (cast_expression "(int)pcVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar34")))) () ")")) (; ";")) (} "}"))) (expression_statement "FormatLocaleString(local_5020,0x1000,">\n");" (call_expression "FormatLocaleString(local_5020,0x1000,">\n")" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,">\n")" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal "">\n"" (" """) (string_content ">") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "RelinquishMagickMemory(puVar13);" (call_expression "RelinquishMagickMemory(puVar13)" (identifier "RelinquishMagickMemory") (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }" (else "else") (compound_statement "{\n      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);\n      if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }\n    }" ({ "{") (expression_statement "puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);" (assignment_expression "puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4)" (identifier "puVar13") (= "=") (cast_expression "(uint *)AcquireQuantumMemory(iVar7 + 1,4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireQuantumMemory(iVar7 + 1,4)" (identifier "AcquireQuantumMemory") (argument_list "(iVar7 + 1,4)" (( "(") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1")) (, ",") (number_literal "4") () ")"))))) (; ";")) (if_statement "if (puVar13 != (uint *)0x0) {\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }" (if "if") (parenthesized_expression "(puVar13 != (uint *)0x0)" (( "(") (binary_expression "puVar13 != (uint *)0x0" (identifier "puVar13") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pcVar34 = (char *)FUN_00234080();\n        goto LAB_00239c56;\n      }" ({ "{") (expression_statement "pcVar34 = (char *)FUN_00234080();" (assignment_expression "pcVar34 = (char *)FUN_00234080()" (identifier "pcVar34") (= "=") (cast_expression "(char *)FUN_00234080()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00234080()" (identifier "FUN_00234080") (argument_list "()" (( "(") () ")"))))) (; ";")) (goto_statement "goto LAB_00239c56;" (goto "goto") (statement_identifier "LAB_00239c56") (; ";")) (} "}"))) (} "}")))) (} "}")))) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "local_60a8 = GetMagickTime();" (assignment_expression "local_60a8 = GetMagickTime()" (identifier "local_60a8") (= "=") (call_expression "GetMagickTime()" (identifier "GetMagickTime") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "gmtime_r(&local_60a8,&local_604c);" (call_expression "gmtime_r(&local_60a8,&local_604c)" (identifier "gmtime_r") (argument_list "(&local_60a8,&local_604c)" (( "(") (pointer_expression "&local_60a8" (& "&") (identifier "local_60a8")) (, ",") (pointer_expression "&local_604c" (& "&") (identifier "local_604c")) () ")"))) (; ";")) (expression_statement "FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec);" (call_expression "FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec)" (identifier "FormatLocaleString") (argument_list "(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,\n                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,\n                     local_604c.tm_sec)" (( "(") (pointer_expression "&uStack_2020" (& "&") (identifier "uStack_2020")) (, ",") (number_literal "0x1000") (, ",") (pointer_expression "&UNK_00305c80" (& "&") (identifier "UNK_00305c80")) (, ",") (binary_expression "local_604c.tm_year + 0x76c" (field_expression "local_604c.tm_year" (identifier "local_604c") (. ".") (field_identifier "tm_year")) (+ "+") (number_literal "0x76c")) (, ",") (binary_expression "local_604c.tm_mon + 1" (field_expression "local_604c.tm_mon" (identifier "local_604c") (. ".") (field_identifier "tm_mon")) (+ "+") (number_literal "1")) (, ",") (field_expression "local_604c.tm_mday" (identifier "local_604c") (. ".") (field_identifier "tm_mday")) (, ",") (field_expression "local_604c.tm_hour" (identifier "local_604c") (. ".") (field_identifier "tm_hour")) (, ",") (field_expression "local_604c.tm_min" (identifier "local_604c") (. ".") (field_identifier "tm_min")) (, ",") (field_expression "local_604c.tm_sec" (identifier "local_604c") (. ".") (field_identifier "tm_sec")) () ")"))) (; ";")) (expression_statement "FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);" (call_expression "FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/CreationDate (%s)\n"" (" """) (string_content "/CreationDate (%s)") (escape_sequence "\n") (" """)) (, ",") (pointer_expression "&uStack_2020" (& "&") (identifier "uStack_2020")) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);" (call_expression "FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/ModDate (%s)\n"" (" """) (string_content "/ModDate (%s)") (escape_sequence "\n") (" """)) (, ",") (pointer_expression "&uStack_2020" (& "&") (identifier "uStack_2020")) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "uVar12 = FUN_00234220();" (assignment_expression "uVar12 = FUN_00234220()" (identifier "uVar12") (= "=") (call_expression "FUN_00234220()" (identifier "FUN_00234220") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);" (call_expression "FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"/Producer (%s)\n",uVar12)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""/Producer (%s)\n"" (" """) (string_content "/Producer (%s)") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "DestroyString(uVar12);" (call_expression "DestroyString(uVar12)" (identifier "DestroyString") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" (identifier "WriteBlobString") (argument_list "(local_6224,">>\n")" (( "(") (identifier "local_6224") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"endobj\n");" (call_expression "WriteBlobString(local_6224,"endobj\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"endobj\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""endobj\n"" (" """) (string_content "endobj") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "TellBlob(local_6224);" (call_expression "TellBlob(local_6224)" (identifier "TellBlob") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")"))) (; ";")) (expression_statement "LocaleCompare(puVar9,&DAT_002a2413);" (call_expression "LocaleCompare(puVar9,&DAT_002a2413)" (identifier "LocaleCompare") (argument_list "(puVar9,&DAT_002a2413)" (( "(") (identifier "puVar9") (, ",") (pointer_expression "&DAT_002a2413" (& "&") (identifier "DAT_002a2413")) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"xref\n");" (call_expression "WriteBlobString(local_6224,"xref\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"xref\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""xref\n"" (" """) (string_content "xref") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"0000000000 65535 f \n");" (call_expression "WriteBlobString(local_6224,"0000000000 65535 f \n")" (identifier "WriteBlobString") (argument_list "(local_6224,"0000000000 65535 f \n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""0000000000 65535 f \n"" (" """) (string_content "0000000000 65535 f ") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (if_statement "if (0 < (int)(uVar10 + 7)) {\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }" (if "if") (parenthesized_expression "(0 < (int)(uVar10 + 7))" (( "(") (binary_expression "0 < (int)(uVar10 + 7)" (number_literal "0") (< "<") (cast_expression "(int)(uVar10 + 7)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar10 + 7)" (( "(") (binary_expression "uVar10 + 7" (identifier "uVar10") (+ "+") (number_literal "7")) () ")")))) () ")")) (compound_statement "{\n    puVar26 = local_6200;\n    do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);\n  }" ({ "{") (expression_statement "puVar26 = local_6200;" (assignment_expression "puVar26 = local_6200" (identifier "puVar26") (= "=") (identifier "local_6200")) (; ";")) (do_statement "do {\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    } while (local_6200 + uVar10 + 7 != puVar26);" (do "do") (compound_statement "{\n      uVar12 = *(undefined4 *)puVar26;\n      puVar26 = puVar26 + 1;\n      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);\n      WriteBlobString(local_6224,local_5020);\n    }" ({ "{") (expression_statement "uVar12 = *(undefined4 *)puVar26;" (assignment_expression "uVar12 = *(undefined4 *)puVar26" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)puVar26" (* "*") (cast_expression "(undefined4 *)puVar26" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar26")))) (; ";")) (expression_statement "puVar26 = puVar26 + 1;" (assignment_expression "puVar26 = puVar26 + 1" (identifier "puVar26") (= "=") (binary_expression "puVar26 + 1" (identifier "puVar26") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);" (call_expression "FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,"%010lu 00000 n \n",uVar12)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""%010lu 00000 n \n"" (" """) (string_content "%010lu 00000 n ") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_6200 + uVar10 + 7 != puVar26)" (( "(") (binary_expression "local_6200 + uVar10 + 7 != puVar26" (binary_expression "local_6200 + uVar10 + 7" (binary_expression "local_6200 + uVar10" (identifier "local_6200") (+ "+") (identifier "uVar10")) (+ "+") (number_literal "7")) (!= "!=") (identifier "puVar26")) () ")")) (; ";")) (} "}"))) (expression_statement "WriteBlobString(local_6224,"trailer\n");" (call_expression "WriteBlobString(local_6224,"trailer\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"trailer\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""trailer\n"" (" """) (string_content "trailer") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"<<\n");" (call_expression "WriteBlobString(local_6224,"<<\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"<<\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""<<\n"" (" """) (string_content "<<") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "SignatureImage(local_6224,param_3);" (call_expression "SignatureImage(local_6224,param_3)" (identifier "SignatureImage") (argument_list "(local_6224,param_3)" (( "(") (identifier "local_6224") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "GetImageProperty(local_6224,"signature",param_3);" (call_expression "GetImageProperty(local_6224,"signature",param_3)" (identifier "GetImageProperty") (argument_list "(local_6224,"signature",param_3)" (( "(") (identifier "local_6224") (, ",") (string_literal ""signature"" (" """) (string_content "signature") (" """)) (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "GetImageProperty(local_6224,"signature",param_3);" (call_expression "GetImageProperty(local_6224,"signature",param_3)" (identifier "GetImageProperty") (argument_list "(local_6224,"signature",param_3)" (( "(") (identifier "local_6224") (, ",") (string_literal ""signature"" (" """) (string_content "signature") (" """)) (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,">>\n");" (call_expression "WriteBlobString(local_6224,">>\n")" (identifier "WriteBlobString") (argument_list "(local_6224,">>\n")" (( "(") (identifier "local_6224") (, ",") (string_literal "">>\n"" (" """) (string_content ">>") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,"startxref\n");" (call_expression "WriteBlobString(local_6224,"startxref\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"startxref\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""startxref\n"" (" """) (string_content "startxref") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString(local_6224,local_5020);" (call_expression "WriteBlobString(local_6224,local_5020)" (identifier "WriteBlobString") (argument_list "(local_6224,local_5020)" (( "(") (identifier "local_6224") (, ",") (identifier "local_5020") () ")"))) (; ";")) (expression_statement "iVar27 = 1;" (assignment_expression "iVar27 = 1" (identifier "iVar27") (= "=") (number_literal "1")) (; ";")) (expression_statement "WriteBlobString(local_6224,"%%EOF\n");" (call_expression "WriteBlobString(local_6224,"%%EOF\n")" (identifier "WriteBlobString") (argument_list "(local_6224,"%%EOF\n")" (( "(") (identifier "local_6224") (, ",") (string_literal ""%%EOF\n"" (" """) (string_content "%%EOF") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "RelinquishMagickMemory(local_6200);" (call_expression "RelinquishMagickMemory(local_6200)" (identifier "RelinquishMagickMemory") (argument_list "(local_6200)" (( "(") (identifier "local_6200") () ")"))) (; ";")) (expression_statement "CloseBlob(local_6224);" (call_expression "CloseBlob(local_6224)" (identifier "CloseBlob") (argument_list "(local_6224)" (( "(") (identifier "local_6224") () ")"))) (; ";")) (labeled_statement "LAB_002345fa:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }" (statement_identifier "LAB_002345fa") (: ":") (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar27;\n  }" (if "if") (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return iVar27;\n  }" ({ "{") (return_statement "return iVar27;" (return "return") (identifier "iVar27") (; ";")) (} "}")))) (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" (identifier "FUN_0029eab0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* 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_2,type_3 *var_4,type_4 *var_7)

{
  size_t *height;
  ssize_t *y;
  ssize_t *x;
  double var_85;
  double dVar2;
  double var_78;
  double dVar4;
  double var_77;
  int var_145;
  type_5 *pPVar7;
  type_6 *var_13;
  type_7 var_86;
  float var_69;
  type_8 lVar11;
  type_9 uVar12;
  type_10 uVar13;
  type_1 var_9;
  type_3 *var_17;
  int var_20;
  type_11 *var_23;
  type_12 var_26;
  char *var_29;
  type_3 *var_111;
  size_t var_133;
  type_13 var_55;
  char *var_74;
  type_10 *var_137;
  type_14 *var_93;
  type_15 *var_120;
  type_12 var_64;
  char *pcVar28;
  type_16 time;
  ssize_t sVar29;
  type_12 var_134;
  type_17 *var_138;
  type_10 *var_121;
  type_12 *var_135;
  type_12 *var_143;
  type_10 *puVar34;
  type_10 *var_94;
  char **var_76;
  int var_46;
  size_t var_123;
  type_17 *var_140;
  type_17 *var_141;
  type_3 *pIVar40;
  int var_1;
  bool bVar41;
  type_9 in_FPUControlWord;
  type_18 intensity;
  type_19 var_80;
  type_19 var_79;
  type_19 MVar44;
  double var_32;
  type_20 uVar46;
  type_20 uVar47;
  type_20 uVar48;
  double dVar49;
  type_21 var_33;
  type_12 *var_11;
  type_7 local_61fc;
  type_21 var_125;
  int var_130;
  type_21 var_73;
  type_22 local_61dc [4];
  type_22 auStack_61d8 [12];
  double var_53;
  type_7 local_61c4;
  type_23 var_101;
  type_21 var_56;
  type_10 *local_61a8;
  type_23 var_50;
  type_15 *var_90;
  type_20 local_615c;
  type_20 local_6154;
  type_20 uStack_6150;
  type_12 var_129;
  int var_128;
  size_t local_60cc;
  type_16 seconds;
  type_24 geometry;
  type_24 media_info;
  type_24 page_info;
  type_25 geometry_info;
  type_26 utc_time;
  char basename [4096];
  char buffer [4096];
  char create_date [4096];
  char modify_date [4096];
  char date [4096];
  char page_geometry [4096];
  
  var_145 = *(int *)(var_1 + 0x14);
  if (var_2 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,
                  "WritePDFImage");
  }
  if (var_4 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");
  }
  if (var_4->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");
  }
  if (var_4->debug != var_5) {
    var_6(TraceEvent,"coders/pdf.c","WritePDFImage",0x534,"%s",var_4->filename);
  }
  if (var_7 == (type_4 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");
  }
  if (var_7->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"
                 );
  }
  var_9 = var_8(var_2,var_4,WriteBinaryBlobMode,var_7);
  if (var_9 == var_5) {
LAB_002345f8:
    var_9 = var_5;
  }
  else {
    var_11 = (type_12 *)var_10(0x800,8);
    var_74 = var_4->filename;
    pIVar40 = var_4;
    if (var_11 == (type_12 *)0x0) {
      var_12
                (var_7,"coders/pdf.c","WritePDFImage",0x53f,ErrorException,
                 "MemoryAllocationFailed","`%s\'",var_74);
      var_13 = (type_6 *)var_2->adjoin;
      while (var_17 = var_4, var_13 != (type_6 *)0x0) {
        var_13 = var_17->previous;
        var_4 = var_13;
        pIVar40 = var_17;
      }
    }
    else {
      var_14(var_11,0,0x4000);
      var_33 = DAT_003068b8;
      var_17 = var_4;
      do {
        if (var_17->alpha_trait != var_15) {
          var_33 = DAT_003068c0;
        }
        var_17 = var_16(var_17);
      } while (var_17 != (type_3 *)0x0);
      if (var_2->compression == var_18) {
        var_33 = (double)_DAT_002aa510;
      }
      pcVar28 = var_2->magick;
      var_20 = var_19(pcVar28,"PDFA");
      var_17 = var_4;
      if (var_20 == 0) {
        var_33 = DAT_003068c8;
      }
      do {
        var_21(var_17,var_7);
        var_23 = var_22(var_17,"icc");
        if (var_23 != (type_11 *)0x0) {
          var_24(var_17,var_81,var_7);
          var_33 = var_31;
        }
        var_26 = var_17->colorspace - var_25;
        if ((0x1f < var_26) || ((0x80780003U >> (var_26 & 0x1f) & 1) == 0)) {
          var_27(var_17,sRGBColorspace,var_7);
        }
        var_17 = var_16(var_17);
      } while (var_17 != (type_3 *)0x0);
      var_29 = var_28(var_2,"pdf:version");
      if (var_29 != (char *)0x0) {
        var_32 = var_30(var_29,(char **)0x0);
        if (var_31 <= var_32 || var_32 != var_31) {
          var_32 = var_31;
        }
        if (var_33 <= var_32) {
          var_33 = var_32;
        }
      }
      var_34(buffer,0x1000,"%%PDF-%.2g \n",(type_3 *)var_33,var_33._4_4_);
      var_35(var_4,buffer);
      var_20 = var_19(pcVar28,"PDFA");
      if (var_20 == 0) {
        var_36(var_4,'%');
        var_36(var_4,0xe2);
        var_36(var_4,0xe3);
        var_36(var_4,0xcf);
        var_36(var_4,0xd3);
        var_36(var_4,'\n');
      }
      var_80 = var_37(var_4);
      *(type_19 *)var_11 = var_80;
      var_34(buffer,0x1000,"%.20g 0 obj\n",0,0x3ff00000);
      var_35(var_4,buffer);
      var_35(var_4,"<<\n");
      var_20 = var_19(pcVar28,"PDFA");
      if (var_20 == 0) {
        var_34(buffer,0x1000,"/Metadata %.20g 0 R\n",0,0x40000000);
        var_35(var_4,buffer);
        uVar46 = 0x40080000;
      }
      else {
        uVar46 = 0x40000000;
      }
      var_34(buffer,0x1000,"/Pages %.20g 0 R\n",0,uVar46);
      var_35(var_4,buffer);
      var_35(var_4,"/Type /Catalog");
      var_29 = var_28(var_2,"pdf:page-direction");
      if ((var_29 != (char *)0x0) && (var_20 = var_19(var_29,"right-to-left"), var_20 == 0)
         ) {
        var_35(var_4,"/ViewerPreferences<</PageDirection/R2L>>\n");
      }
      var_35(var_4,"\n");
      var_35(var_4,">>\n");
      var_35(var_4,"endobj\n");
      var_38(var_74,BasePath,basename);
      var_20 = var_19(pcVar28,"PDFA");
      if (var_20 == 0) {
        var_80 = var_37(var_4);
        *(type_19 *)(var_11 + 2) = var_80;
        var_34(buffer,0x1000,"%.20g 0 obj\n",0,0x40000000);
        var_35(var_4,buffer);
        var_35(var_4,"<<\n");
        var_35(var_4,"/Subtype /XML\n");
        modify_date[0] = '\0';
        var_29 = var_39(var_4,"date:modify",var_7);
        if (var_29 != (char *)0x0) {
          var_40(modify_date,var_29,0x1000);
        }
        create_date[0] = '\0';
        var_29 = var_39(var_4,"date:create",var_7);
        if (var_29 != (char *)0x0) {
          var_40(create_date,var_29,0x1000);
        }
        time = var_41();
        var_42(time,0x1000,date);
        var_29 = var_43(basename);
        sVar29 = var_34(page_geometry,0x1000,
                                    "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"
                                    ,function_1::XMPProfileMagick,modify_date,create_date,date,
                                    "https://imagemagick.org",var_29,"https://imagemagick.org");
        var_44(var_29);
        var_34(buffer,0x1000,"/Length %.20g\n",var_45((double)sVar29,0),
                           (int)((type_7)(double)sVar29 >> 0x20));
        var_35(var_4,buffer);
        var_35(var_4,"/Type /Metadata\n");
        var_35(var_4,">>\nstream\n");
        var_35(var_4,page_geometry);
        var_46 = 0x10;
        var_35(var_4,"\nendstream\n");
        var_20 = 0x12;
        var_35(var_4,"endobj\n");
        var_33._0_4_ = (type_3 *)0x3;
        var_125._0_4_ = 3;
      }
      else {
        var_33._0_4_ = (type_3 *)0x2;
        var_20 = 0x11;
        var_46 = 8;
        var_125._0_4_ = 2;
      }
      var_80 = var_37(var_4);
      var_32 = (double)(int)(type_3 *)var_33;
      *(type_19 *)(var_46 + (int)var_11) = var_80;
      uVar46 = (type_20)((type_7)var_32 >> 0x20);
      var_34(buffer,0x1000,"%.20g 0 obj\n",var_45(var_32,0),uVar46);
      var_35(var_4,buffer);
      var_35(var_4,"<<\n");
      var_35(var_4,"/Type /Pages\n");
      var_34(buffer,0x1000,"/Kids [ %.20g 0 R ",var_45(var_32 + (double)var_115,0),
                         (int)((type_7)(var_32 + (double)var_115) >> 0x20));
      var_35(var_4,buffer);
      _local_61dc = (type_29)((type_27)(type_28)auStack_61d8._0_6_ << 0x20);
      var_130 = 1;
      var_17 = var_4;
      if (var_2->adjoin == var_5) {
LAB_00234b1f:
        var_35(var_4,"]\n");
        var_34(buffer,0x1000,"/Count %.20g\n",var_45((double)var_130,0),
                           (int)((type_7)(double)var_130 >> 0x20));
        var_35(var_4,buffer);
        var_35(var_4,">>\n");
        var_35(var_4,"endobj\n");
        var_133 = var_47(var_4);
        height = &geometry.height;
        y = &geometry.y;
        x = &geometry.x;
        var_129 = 0;
        var_128 = 0;
        var_33._0_4_ = var_4;
        do {
          pIVar40 = (type_3 *)var_33;
          var_23 = var_22((type_3 *)var_33,"icc");
          _local_61dc = (type_29)var_48(auStack_61d8._0_6_,var_23);
          var_50 = var_2->compression;
          if (var_2->compression == var_49) {
            var_50 = ((type_3 *)var_33)->compression;
          }
          local_61a8 = (type_10 *)(var_50 - var_51);
          var_101 = var_50;
          switch(local_61a8) {
          case (type_10 *)0x0:
          case (type_10 *)0x1:
            var_9 = var_52((type_3 *)var_33,var_7);
            if ((var_9 != var_5) &&
               (((type_3 *)var_33)->alpha_trait == var_15)) goto _L429;
            goto LAB_00234e0c;
          default:
_L429:
            var_50 = (type_23)local_61a8;
            break;
          case (type_10 *)0x4:
            var_74 = "`%s\' (JP2)";
            var_123 = 0x60a;
            goto LAB_00234df2;
          case (type_10 *)0x5:
            var_12
                      (var_7,"coders/pdf.c","WritePDFImage",0x600,MissingDelegateError,
                       "DelegateLibrarySupportNotBuiltIn","`%s\' (JPEG)",
                       ((type_3 *)var_33)->filename);
            local_61a8 = (type_10 *)0xc;
            var_101 = RLECompression;
            break;
          case (type_10 *)0x8:
            var_20 = var_19(pcVar28,"PDFA");
            if (var_20 == 0) goto LAB_00234e0c;
            var_50 = Group4Compression;
            break;
          case (type_10 *)0x9:
            var_20 = var_19(pcVar28,"PDFA");
            if (var_20 == 0) goto LAB_00234e0c;
            var_50 = JBIG1Compression;
            break;
          case (type_10 *)0xd:
            var_74 = "`%s\' (ZLIB)";
            var_123 = 0x614;
LAB_00234df2:
            var_12
                      (var_7,"coders/pdf.c","WritePDFImage",var_123,MissingDelegateError,
                       "DelegateLibrarySupportNotBuiltIn",var_74,((type_3 *)var_33)->filename);
LAB_00234e0c:
            var_50 = var_109;
            var_101 = RLECompression;
            local_61a8 = (type_10 *)0xc;
          }
          var_56 = (((type_3 *)var_33)->resolution).x;
          var_53 = (((type_3 *)var_33)->resolution).y;
          if (var_53 == 0.0) {
LAB_00234e74:
            var_55 = var_54("72.0x72.0",&geometry_info);
            var_56 = geometry_info.rho;
            var_53 = geometry_info.rho;
            if ((var_55 & 8) != 0) {
              var_53 = geometry_info.sigma;
            }
          }
          else {
            bVar41 = var_53 == 0.0;
            if (var_56 == 0.0) {
              bVar41 = !var_57(var_56);
            }
            if (bVar41) goto LAB_00234e74;
          }
          if (var_2->density != (char *)0x0) {
            var_55 = var_54(var_2->density,&geometry_info);
            var_56 = geometry_info.rho;
            var_53 = geometry_info.rho;
            if ((var_55 & 8) != 0) {
              var_53 = geometry_info.sigma;
            }
          }
          if (((type_3 *)var_33)->units == var_58) {
            var_56 = (double)((float)((type_8)
                                          var_59((float)var_56 * var_60 + var_61) &
                                         0xffffffff) / var_62);
            var_53 = (double)((float)((type_8)
                                          var_59(var_60 * (float)var_53 + var_61) &
                                         0xffffffff) / var_62);
          }
          var_63((type_3 *)var_33,&geometry);
          var_34(page_geometry,0x1000,"%.20gx%.20g",
                             var_45((double)((type_3 *)var_33)->columns,0),
                             (int)((type_7)(double)((type_3 *)var_33)->columns >> 0x20),
                             var_45((double)((type_3 *)var_33)->rows,0),
                             (int)((type_7)(double)((type_3 *)var_33)->rows >> 0x20));
          if (var_2->page == (char *)0x0) {
            var_26 = (((type_3 *)var_33)->page).width;
            if ((var_26 == 0) || (var_64 = (((type_3 *)var_33)->page).height, var_64 == 0)) {
              if ((((type_3 *)var_33)->gravity != var_65) &&
                 (var_20 = var_19(pcVar28,"PDF"), var_20 == 0)) {
                var_40(page_geometry,"612x792",0x1000);
              }
            }
            else {
              var_85 = (double)(((type_3 *)var_33)->page).y;
              dVar49 = (double)(((type_3 *)var_33)->page).x;
              var_77 = (double)var_64;
              var_34(page_geometry,0x1000,"%.20gx%.20g%+.20g%+.20g",(double)var_26,
                                 var_45(var_77,0),(int)((type_7)var_77 >> 0x20),var_45(dVar49,0),
                                 (int)((type_7)dVar49 >> 0x20),var_45(var_85,0),
                                 (int)((type_7)var_85 >> 0x20));
            }
          }
          else {
            var_40(page_geometry,var_2->page,0x1000);
          }
          var_66(page_geometry,">",0x1000);
          var_67(page_geometry,x,y,&geometry.width,height);
          var_69 = ((float)geometry.width * var_68) / (float)var_56;
          var_85 = (double)var_69;
          local_60cc = (size_t)(type_8)var_59(var_59(var_69 + var_61));
          geometry.width = local_60cc;
          var_69 = ((float)geometry.height * var_68) / (float)var_53;
          dVar49 = (double)var_69;
          seconds = var_70(seconds._2_2_,in_FPUControlWord);
          utc_time.tm_sec =
               var_70((short)((type_12)utc_time.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |
               0x400;
          local_60cc = (size_t)(type_8)var_59(var_59(var_69 + var_61));
          geometry.height = local_60cc;
          var_71(page_geometry,&media_info);
          var_72((type_3 *)var_33,page_geometry,&page_info,var_7);
          if (((type_3 *)var_33)->gravity != var_65) {
            geometry.x = -page_info.x;
            geometry.y = (page_info.y + media_info.height) - ((type_3 *)var_33)->rows;
          }
          var_73 = var_2->pointsize;
          if (var_73 == 0.0) {
            var_73 = (double)DAT_002b1d90;
          }
          var_39((type_3 *)var_33,"label",var_7);
          var_80 = var_37((type_3 *)var_33);
          var_77 = (double)((type_12)var_125 + 1);
          *(type_19 *)(var_11 + (type_12)var_125 * 2) = var_80;
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45(var_77,0),
                             (int)((type_7)var_77 >> 0x20));
          var_35((type_3 *)var_33,buffer);
          var_35((type_3 *)var_33,"<<\n");
          var_35((type_3 *)var_33,"/Type /Page\n");
          var_34(buffer,0x1000,"/Parent %.20g 0 R\n",var_45(var_32,0),uVar46);
          var_35((type_3 *)var_33,buffer);
          var_35((type_3 *)var_33,"/Resources <<\n");
          var_76 = (char **)0x0;
          var_74 = var_39((type_3 *)var_33,"label",var_7);
          if ((var_74 != (char *)0x0) && (var_76 = var_75(var_74), var_76 != (char **)0x0))
          {
            var_34(buffer,0x1000,"/Font << /F%.20g %.20g 0 R >>\n",
                               var_45((double)((type_3 *)var_33)->scene,0),
                               (int)((type_7)(double)((type_3 *)var_33)->scene >> 0x20),
                               var_45(var_77 + (double)DAT_002a9b80,0),
                               (int)((type_7)(var_77 + (double)DAT_002a9b80) >> 0x20));
            var_35((type_3 *)var_33,buffer);
          }
          var_34(buffer,0x1000,"/XObject << /Im%.20g %.20g 0 R >>\n",
                             var_45((double)((type_3 *)var_33)->scene,0),
                             (int)((type_7)(double)((type_3 *)var_33)->scene >> 0x20),
                             var_45(var_77 + (double)DAT_002a9bb0,0),
                             (int)((type_7)(var_77 + (double)DAT_002a9bb0) >> 0x20));
          var_35((type_3 *)var_33,buffer);
          var_34(buffer,0x1000,"/ProcSet %.20g 0 R >>\n",
                             var_45(var_77 + (double)DAT_002a9b78,0),
                             (int)((type_7)(var_77 + (double)DAT_002a9b78) >> 0x20));
          var_35((type_3 *)var_33,buffer);
          dVar2 = (double)(((float)media_info.height * var_68) / (float)var_53);
          var_78 = (double)var_68;
          dVar4 = (double)(((float)media_info.width * var_68) / (float)var_56);
          var_34(buffer,0x1000,"/MediaBox [0 0 %g %g]\n",var_45(dVar4,0),
                             (int)((type_7)dVar4 >> 0x20),var_45(dVar2,0),
                             (int)((type_7)dVar2 >> 0x20));
          var_35((type_3 *)var_33,buffer);
          dVar2 = ((double)media_info.height * var_78) / var_53;
          var_53 = (double)(type_7)media_info.width;
          uVar48 = (type_20)((type_7)dVar2 >> 0x20);
          var_56 = ((double)(type_8)var_53 * var_78) / var_56;
          var_34(buffer,0x1000,"/CropBox [0 0 %g %g]\n",var_45(var_56,0),
                             (int)((type_7)var_56 >> 0x20),var_45(dVar2,0),uVar48);
          var_35((type_3 *)var_33,buffer);
          var_34(buffer,0x1000,"/Contents %.20g 0 R\n",
                             var_45(var_77 + (double)var_115,0),
                             (int)((type_7)(var_77 + (double)var_115) >> 0x20));
          var_74 = buffer;
          var_35((type_3 *)var_33,buffer);
          var_69 = DAT_002a9ba8;
          if (var_23 != (type_11 *)0x0) {
            var_69 = DAT_002aa50c;
          }
          var_77 = (double)(var_69 + (float)((type_12)var_125 + 1));
          var_34(buffer,0x1000,"/Thumb %.20g 0 R\n",var_45(var_77,0),
                             (int)((type_7)var_77 >> 0x20),var_74,uVar48);
          var_35((type_3 *)var_33,buffer);
          var_35((type_3 *)var_33,">>\n");
          var_35((type_3 *)var_33,"endobj\n");
          var_80 = var_37((type_3 *)var_33);
          *(type_19 *)(var_11 + (type_12)var_125 * 2 + 2) = var_80;
          var_53 = (double)(type_7)((type_12)var_125 + 2);
          var_77 = (double)(type_8)var_53;
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45(var_77,0),
                             (int)((type_7)var_77 >> 0x20));
          var_35((type_3 *)var_33,buffer);
          var_35((type_3 *)var_33,"<<\n");
          var_34(buffer,0x1000,"/Length %.20g 0 R\n",
                             var_45(var_77 + (double)var_115,0),
                             (int)((type_7)(var_77 + (double)var_115) >> 0x20));
          var_35((type_3 *)var_33,buffer);
          var_35((type_3 *)var_33,">>\n");
          var_35((type_3 *)var_33,"stream\n");
          var_80 = var_37((type_3 *)var_33);
          var_35((type_3 *)var_33,"q\n");
          if ((var_76 != (char **)0x0) && (*var_76 != (char *)0x0)) {
            var_20 = 0;
            do {
              var_35((type_3 *)var_33,"BT\n");
              var_53 = (double)(type_7)((type_3 *)var_33)->scene;
              var_34(buffer,0x1000,"/F%.20g %g Tf\n",
                                 var_45((double)(type_8)var_53,0),
                                 (int)((type_7)(double)(type_8)var_53 >> 0x20),
                                 (type_12)var_73,var_73._4_4_);
              var_35((type_3 *)var_33,buffer);
              var_53 = (double)(type_7)(geometry.height + geometry.y);
              var_77 = (double)var_20 * var_73 + (double)(type_8)var_53 +
                      (double)DAT_002b1d90;
              var_34(buffer,0x1000,"%.20g %.20g Td\n",var_45((double)geometry.x,0),
                                 (int)((type_7)(double)geometry.x >> 0x20),var_45(var_77,0),
                                 (int)((type_7)var_77 >> 0x20));
              var_35((type_3 *)var_33,buffer);
              var_34(buffer,0x1000,"(%s) Tj\n",var_76[var_20]);
              var_35((type_3 *)var_33,buffer);
              var_35((type_3 *)var_33,"ET\n");
              var_74 = var_44(var_76[var_20]);
              var_76[var_20] = var_74;
              var_20 = var_20 + 1;
            } while (var_76[var_20] != (char *)0x0);
          }
          uStack_6150 = (type_20)((type_7)dVar49 >> 0x20);
          local_6154 = var_45(dVar49,0);
          local_615c = var_45(var_85,0);
          var_34(buffer,0x1000,"%g 0 0 %g %.20g %.20g cm\n",local_615c,
                             (int)((type_7)var_85 >> 0x20),local_6154,uStack_6150,
                             var_45((double)geometry.x,0),
                             (int)((type_7)(double)geometry.x >> 0x20),
                             var_45((double)geometry.y,0),
                             (int)((type_7)(double)geometry.y >> 0x20));
          var_35((type_3 *)var_33,buffer);
          var_33 = (double)(type_7)((type_3 *)var_33)->scene;
          var_34(buffer,0x1000,"/Im%.20g Do\n",var_45((double)(type_8)var_33,0),
                             (int)((type_7)(double)(type_8)var_33 >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,"Q\n");
          var_79 = var_37(pIVar40);
          var_35(pIVar40,"\nendstream\n");
          var_35(pIVar40,"endobj\n");
          MVar44 = var_37(pIVar40);
          *(type_19 *)(var_11 + (type_12)var_125 * 2 + 4) = MVar44;
          var_53 = (double)(type_7)((type_12)var_125 + 3);
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45((double)(type_8)var_53,0),
                             (int)((type_7)(double)(type_8)var_53 >> 0x20));
          var_35(pIVar40,buffer);
          var_34(buffer,0x1000,"%.20g\n",var_45((double)(var_79 - var_80),0),
                             (int)((type_7)(double)(var_79 - var_80) >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,"endobj\n");
          var_80 = var_37(pIVar40);
          *(type_19 *)(var_11 + (type_12)var_125 * 2 + 6) = var_80;
          var_73 = (double)(type_7)((type_12)var_125 + 4);
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45((double)(type_8)var_73,0),
                             (int)((type_7)(double)(type_8)var_73 >> 0x20));
          var_35(pIVar40,buffer);
          if ((pIVar40->storage_class == var_81) || (0x100 < pIVar40->colors)) {
            var_40(buffer,"[ /PDF /Text /ImageC",0x1000);
          }
          else if (var_50 < var_82) {
            var_40(buffer,"[ /PDF /Text /ImageB",0x1000);
          }
          else {
            var_40(buffer,"[ /PDF /Text /ImageI",0x1000);
          }
          var_35(pIVar40,buffer);
          var_35(pIVar40," ]\n");
          var_35(pIVar40,"endobj\n");
          var_80 = var_37(pIVar40);
          *(type_19 *)(var_11 + (type_12)var_125 * 2 + 8) = var_80;
          var_73 = (double)(type_7)((type_12)var_125 + 5);
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45((double)(type_8)var_73,0),
                             (int)((type_7)(double)(type_8)var_73 >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,"<<\n");
          if (var_76 != (char **)0x0) {
            var_35(pIVar40,"/Type /Font\n");
            var_35(pIVar40,"/Subtype /Type1\n");
            var_73 = (double)(type_7)pIVar40->scene;
            var_34(buffer,0x1000,"/Name /F%.20g\n",var_45((double)(type_8)var_73,0)
                               ,(int)((type_7)(double)(type_8)var_73 >> 0x20));
            var_35(pIVar40,buffer);
            var_35(pIVar40,"/BaseFont /Helvetica\n");
            var_35(pIVar40,"/Encoding /MacRomanEncoding\n");
            var_83(var_76);
          }
          var_35(pIVar40,">>\n");
          var_35(pIVar40,"endobj\n");
          var_80 = var_37(pIVar40);
          *(type_19 *)(var_11 + (type_12)var_125 * 2 + 10) = var_80;
          var_85 = (double)((type_12)var_125 + 6);
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45(var_85,0),
                             (int)((type_7)var_85 >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,"<<\n");
          var_35(pIVar40,"/Type /XObject\n");
          var_35(pIVar40,"/Subtype /Image\n");
          var_53 = (double)(type_7)pIVar40->scene;
          var_34(buffer,0x1000,"/Name /Im%.20g\n",var_45((double)(type_8)var_53,0),
                             (int)((type_7)(double)(type_8)var_53 >> 0x20));
          var_35(pIVar40,buffer);
          switch(local_61a8) {
          case (type_10 *)0x0:
          case (type_10 *)0x1:
            var_40(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);
            var_35(pIVar40,buffer);
            var_53 = (double)(type_7)pIVar40->rows;
            dVar49 = (double)(type_8)var_53;
            var_53 = (double)(type_7)pIVar40->columns;
            var_34(buffer,0x1000,
                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"
                               ,"0",var_45((double)(type_8)var_53,0),
                               (int)((type_7)(double)(type_8)var_53 >> 0x20),
                               var_45(dVar49,0),(int)((type_7)dVar49 >> 0x20));
            goto LAB_0023602b;
          default:
            var_74 = "RunLengthDecode";
            var_29 = "/Filter [ /%s ]\n";
            var_34(buffer,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");
            dVar49 = (double)var_84(var_74,var_29);
LAB_0023602b:
            var_74 = buffer;
            var_35(pIVar40,buffer);
            var_53 = (double)(type_7)pIVar40->columns;
            var_34(buffer,0x1000,"/Width %.20g\n",var_45((double)(type_8)var_53,0),
                               (int)((type_7)(double)(type_8)var_53 >> 0x20),var_74,
                               var_45(dVar49,0),(int)((type_7)dVar49 >> 0x20));
            var_35(pIVar40,buffer);
            var_53 = (double)(type_7)pIVar40->rows;
            var_34(buffer,0x1000,"/Height %.20g\n",var_45((double)(type_8)var_53,0)
                               ,(int)((type_7)(double)(type_8)var_53 >> 0x20));
            var_35(pIVar40,buffer);
            var_34(buffer,0x1000,"/ColorSpace %.20g 0 R\n",
                               var_45(var_85 + (double)DAT_002aabd0,0),
                               (int)((type_7)(var_85 + (double)DAT_002aabd0) >> 0x20));
            var_35(pIVar40,buffer);
            var_53._0_4_ = (-(type_12)(var_50 < var_82) & 0xfffffff9) + 8;
            goto LAB_00235dee;
          case (type_10 *)0x4:
            var_74 = "JPXDecode";
            goto LAB_00235f5e;
          case (type_10 *)0x5:
            var_74 = "DCTDecode";
LAB_00235f5e:
            var_34(buffer,0x1000,"/Filter [ /%s ]\n",var_74);
            if (pIVar40->colorspace == var_25) {
              var_35(pIVar40,buffer);
              var_40(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);
            }
            goto LAB_00235d3f;
          case (type_10 *)0x8:
            var_74 = "LZWDecode";
            break;
          case (type_10 *)0x9:
            var_74 = "ASCII85Decode";
            break;
          case (type_10 *)0xd:
            var_74 = "FlateDecode";
          }
          var_34(buffer,0x1000,"/Filter [ /%s ]\n",var_74);
LAB_00235d3f:
          var_35(pIVar40,buffer);
          var_53 = (double)(type_7)pIVar40->columns;
          var_34(buffer,0x1000,"/Width %.20g\n",var_45((double)(type_8)var_53,0),
                             (int)((type_7)(double)(type_8)var_53 >> 0x20));
          var_35(pIVar40,buffer);
          var_53 = (double)(type_7)pIVar40->rows;
          var_34(buffer,0x1000,"/Height %.20g\n",var_45((double)(type_8)var_53,0),
                             (int)((type_7)(double)(type_8)var_53 >> 0x20));
          var_35(pIVar40,buffer);
          var_34(buffer,0x1000,"/ColorSpace %.20g 0 R\n",
                             var_45(var_85 + (double)DAT_002aabd0,0),
                             (int)((type_7)(var_85 + (double)DAT_002aabd0) >> 0x20));
          var_35(pIVar40,buffer);
          var_53._0_4_ = 8;
LAB_00235dee:
          var_34(buffer,0x1000,"/BitsPerComponent %d\n",var_53._0_4_);
          var_35(pIVar40,buffer);
          if (pIVar40->alpha_trait != var_15) {
            var_69 = DAT_002aabd4;
            if (var_23 != (type_11 *)0x0) {
              var_69 = DAT_002a9b8c;
            }
            dVar49 = (double)(var_69 + (float)((type_12)var_125 + 6));
            var_34(buffer,0x1000,"/SMask %.20g 0 R\n",var_45(dVar49,0),
                               (int)((type_7)dVar49 >> 0x20));
            var_35(pIVar40,buffer);
          }
          var_34(buffer,0x1000,"/Length %.20g 0 R\n",
                             var_45(var_85 + (double)var_115,0),
                             (int)((type_7)(var_85 + (double)var_115) >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,">>\n");
          var_35(pIVar40,"stream\n");
          var_80 = var_37(pIVar40);
          var_86 = (type_7)pIVar40->rows * (type_7)pIVar40->columns;
          var_26 = (type_12)var_86;
          if ((var_86 & 0x3fffffff00000000) != 0 || var_26 >> 0x1e != 0) {
            var_83(var_11);
            var_12
                      (var_7,"coders/pdf.c","WritePDFImage",0x759,ErrorException,
                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);
            var_13 = (type_6 *)var_2->adjoin;
            var_17 = pIVar40;
            while (var_111 = var_17, var_13 != (type_6 *)0x0) {
              var_13 = var_111->previous;
              var_17 = var_13;
              pIVar40 = var_111;
            }
            goto LAB_00239234;
          }
          if (var_87 < var_50) {
            if ((var_2->type != var_88) &&
               (var_9 = var_21(pIVar40,var_7), var_9 != var_5)) {
              switch(local_61a8) {
              case (type_10 *)0x0:
              case (type_10 *)0x1:
                goto _L184;
              default:
                var_90 = var_89(var_26,1);
                if (var_90 == (type_15 *)0x0) {
                  var_83(var_11);
                  var_12
                            (var_7,"coders/pdf.c","WritePDFImage",0x78d,ErrorException,
                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);
                  var_13 = (type_6 *)var_2->adjoin;
                  var_17 = pIVar40;
                  while (var_111 = var_17, var_13 != (type_6 *)0x0) {
                    var_13 = var_111->previous;
                    var_17 = var_13;
                    pIVar40 = var_111;
                  }
                  goto LAB_00239234;
                }
                var_137 = (type_10 *)var_91(var_90);
                if (0 < (int)pIVar40->rows) {
                  var_20 = 0;
                  var_73 = 0.0;
                  var_121 = var_137;
                  do {
                    var_93 = var_92(pIVar40,0,var_20,pIVar40->columns,1,var_7);
                    if (var_93 == (type_14 *)0x0) break;
                    var_94 = var_121;
                    puVar34 = var_121;
                    if (0 < (int)pIVar40->columns) {
                      do {
                        pPVar7 = pIVar40->channel_map;
                        puVar34 = var_94 + 1;
                        uVar13 = '\0';
                        var_69 = (float)var_93[pPVar7[2].offset] * var_95 +
                                 var_96 * (float)var_93[pPVar7[1].offset] +
                                 var_97 * (float)var_93[pPVar7->offset];
                        if (0.0 < var_69) {
                          var_69 = var_69 / var_98;
                          uVar13 = 0xff;
                          if (var_69 < var_99) {
                            uVar13 = (type_10)(short)var_59(var_69 + var_61);
                          }
                        }
                        *var_94 = uVar13;
                        var_93 = var_93 + pIVar40->number_channels;
                        var_94 = puVar34;
                      } while ((int)puVar34 - (int)var_121 < (int)pIVar40->columns);
                    }
                    var_64 = pIVar40->rows;
                    if (pIVar40->previous == (type_6 *)0x0) {
                      var_9 = var_100(pIVar40,"Save/Image",(type_19)var_73,
                                                (type_7)var_64);
                      if (var_9 == var_5) break;
                      var_64 = pIVar40->rows;
                    }
                    var_20 = var_20 + 1;
                    var_73 = (double)var_84(var_73._4_4_ +
                                                  (type_12)(0xfffffffe < (type_12)var_73),
                                                  (type_12)var_73 + 1);
                    var_121 = puVar34;
                  } while (var_20 < (int)var_64);
                }
LAB_00237039:
                if (var_101 == var_102) {
                  var_9 = var_103(pIVar40,var_26,var_137,var_7);
                }
                else {
                  var_9 = var_104(pIVar40,var_26,var_137,var_7);
                }
LAB_00237064:
                var_105(var_90);
                goto joined_r0x002361ac;
              case (type_10 *)0x4:
_L217:
                var_74 = "jp2";
                break;
              case (type_10 *)0x5:
_L215:
                var_74 = "jpeg";
                break;
              case (type_10 *)0x9:
                var_106(pIVar40);
                if (0 < (int)pIVar40->rows) {
                  var_73 = 0.0;
                  var_33._0_4_ = (type_3 *)0x0;
                  do {
                    var_93 = var_92(pIVar40,0,(ssize_t)(type_3 *)var_33,
                                               pIVar40->columns,1,var_7);
                    if (var_93 == (type_14 *)0x0) break;
                    if (0 < (int)pIVar40->columns) {
                      var_20 = 0;
                      do {
                        pPVar7 = pIVar40->channel_map;
                        uVar13 = '\0';
                        var_69 = (float)var_93[pPVar7[2].offset] * var_95 +
                                 var_96 * (float)var_93[pPVar7[1].offset] +
                                 var_97 * (float)var_93[pPVar7->offset];
                        if (0.0 < var_69) {
                          var_69 = var_69 / var_98;
                          uVar13 = 0xff;
                          if (var_69 < var_99) {
                            uVar13 = (type_10)(short)var_59(var_69 + var_61);
                          }
                        }
                        var_20 = var_20 + 1;
                        var_107(pIVar40,uVar13);
                        var_93 = var_93 + pIVar40->number_channels;
                      } while (var_20 < (int)pIVar40->columns);
                    }
                    var_26 = pIVar40->rows;
                    if (pIVar40->previous == (type_6 *)0x0) {
                      var_9 = var_100(pIVar40,"Save/Image",(type_19)var_73,
                                                (type_7)var_26);
                      if (var_9 == var_5) break;
                      var_26 = pIVar40->rows;
                    }
                    var_33._0_4_ = (type_3 *)((int)(type_3 *)var_33 + 1);
                    var_73 = (double)var_84(var_73._4_4_ +
                                                  (type_12)(0xfffffffe < (type_12)var_73),
                                                  (type_12)var_73 + 1);
                  } while ((int)(type_3 *)var_33 < (int)var_26);
                }
                goto LAB_002368f4;
              }
              var_9 = var_108(var_2,pIVar40,pIVar40,var_74,var_7);
joined_r0x002361ac:
              if (var_9 != var_5) goto LAB_002361b2;
              goto LAB_0023707e;
            }
            if ((pIVar40->storage_class == var_81) ||
               ((0x100 < pIVar40->colors || (var_101 - var_18 < 2)))) {
              if (var_101 == var_109) goto _L215;
              if (var_101 != var_110) {
                if (var_101 == var_18) goto _L217;
                var_123 = ((pIVar40->colorspace == var_25) + 3) * var_26;
                var_90 = var_89(var_123,1);
                if (var_90 == (type_15 *)0x0) {
                  var_83(var_11);
                  var_12
                            (var_7,"coders/pdf.c","WritePDFImage",0x7fe,ErrorException,
                             "MemoryAllocationFailed","`%s\'",pIVar40->filename);
                  var_13 = (type_6 *)var_2->adjoin;
                  var_17 = pIVar40;
                  while (var_111 = var_17, var_13 != (type_6 *)0x0) {
                    var_13 = var_111->previous;
                    var_17 = var_13;
                    pIVar40 = var_111;
                  }
                  goto LAB_00239234;
                }
                var_137 = (type_10 *)var_91(var_90);
                if (0 < (int)pIVar40->rows) {
                  var_56 = 0.0;
                  var_33._0_4_ = (type_3 *)0x0;
                  var_121 = var_137;
                  do {
                    var_93 = var_92(pIVar40,0,(ssize_t)(type_3 *)var_33,
                                               pIVar40->columns,1,var_7);
                    if (var_93 == (type_14 *)0x0) break;
                    if (0 < (int)pIVar40->columns) {
                      var_20 = 0;
                      var_94 = var_121;
                      do {
                        uVar13 = '\0';
                        if (0.0 < var_93[pIVar40->channel_map->offset]) {
                          var_85 = var_93[pIVar40->channel_map->offset] / (double)var_98;
                          uVar13 = 0xff;
                          if (var_85 < (double)var_99) {
                            uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                          }
                        }
                        *var_94 = uVar13;
                        uVar13 = '\0';
                        if (0.0 < var_93[pIVar40->channel_map[1].offset]) {
                          var_85 = var_93[pIVar40->channel_map[1].offset] / (double)var_98;
                          uVar13 = 0xff;
                          if (var_85 < (double)var_99) {
                            uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                          }
                        }
                        var_94[1] = uVar13;
                        uVar13 = '\0';
                        if (0.0 < var_93[pIVar40->channel_map[2].offset]) {
                          var_85 = var_93[pIVar40->channel_map[2].offset] / (double)var_98;
                          uVar13 = 0xff;
                          if (var_85 < (double)var_99) {
                            uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                          }
                        }
                        var_94[2] = uVar13;
                        if (pIVar40->colorspace == var_25) {
                          var_121 = var_94 + 4;
                          uVar13 = '\0';
                          if ((pIVar40->channel_map[3].traits != var_15) &&
                             (0.0 < var_93[pIVar40->channel_map[3].offset])) {
                            var_85 = var_93[pIVar40->channel_map[3].offset] / (double)var_98;
                            uVar13 = 0xff;
                            if (var_85 < (double)var_99) {
                              uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                            }
                          }
                          var_94[3] = uVar13;
                        }
                        else {
                          var_121 = var_94 + 3;
                        }
                        var_20 = var_20 + 1;
                        var_93 = var_93 + pIVar40->number_channels;
                        var_94 = var_121;
                      } while (var_20 < (int)pIVar40->columns);
                    }
                    var_26 = pIVar40->rows;
                    if (pIVar40->previous == (type_6 *)0x0) {
                      var_9 = var_100(pIVar40,"Save/Image",(type_19)var_56,
                                                (type_7)var_26);
                      if (var_9 == var_5) break;
                      var_26 = pIVar40->rows;
                    }
                    var_33._0_4_ = (type_3 *)((int)(type_3 *)var_33 + 1);
                    var_56 = (double)var_84(var_56._4_4_ +
                                                  (type_12)(0xfffffffe < (type_12)var_56),
                                                  (type_12)var_56 + 1);
                  } while ((int)(type_3 *)var_33 < (int)var_26);
                }
                if (var_101 == var_102) {
                  var_9 = var_103(pIVar40,var_123,var_137,var_7);
                }
                else {
                  var_9 = var_104(pIVar40,var_123,var_137,var_7);
                }
                goto LAB_00237064;
              }
              var_106(pIVar40);
              if (0 < (int)pIVar40->rows) {
                var_73 = 0.0;
                var_33._0_4_ = (type_3 *)0x0;
                do {
                  var_93 = var_92(pIVar40,0,(ssize_t)(type_3 *)var_33,pIVar40->columns
                                             ,1,var_7);
                  if (var_93 == (type_14 *)0x0) break;
                  if (0 < (int)pIVar40->columns) {
                    var_20 = 0;
                    do {
                      uVar13 = '\0';
                      if (0.0 < var_93[pIVar40->channel_map->offset]) {
                        var_85 = var_93[pIVar40->channel_map->offset] / (double)var_98;
                        uVar13 = 0xff;
                        if (var_85 < (double)var_99) {
                          uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                        }
                      }
                      var_107(pIVar40,uVar13);
                      uVar13 = '\0';
                      if (0.0 < var_93[pIVar40->channel_map[1].offset]) {
                        var_85 = var_93[pIVar40->channel_map[1].offset] / (double)var_98;
                        uVar13 = 0xff;
                        if (var_85 < (double)var_99) {
                          uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                        }
                      }
                      var_107(pIVar40,uVar13);
                      uVar13 = '\0';
                      if (0.0 < var_93[pIVar40->channel_map[2].offset]) {
                        var_85 = var_93[pIVar40->channel_map[2].offset] / (double)var_98;
                        uVar13 = 0xff;
                        if (var_85 < (double)var_99) {
                          uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                        }
                      }
                      var_107(pIVar40,uVar13);
                      if (pIVar40->colorspace == var_25) {
                        uVar13 = '\0';
                        if ((pIVar40->channel_map[3].traits != var_15) &&
                           (0.0 < var_93[pIVar40->channel_map[3].offset])) {
                          var_85 = var_93[pIVar40->channel_map[3].offset] / (double)var_98;
                          uVar13 = 0xff;
                          if (var_85 < (double)var_99) {
                            uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                          }
                        }
                        var_107(pIVar40,uVar13);
                      }
                      var_20 = var_20 + 1;
                      var_93 = var_93 + pIVar40->number_channels;
                    } while (var_20 < (int)pIVar40->columns);
                  }
                  var_26 = pIVar40->rows;
                  if (pIVar40->previous == (type_6 *)0x0) {
                    var_9 = var_100(pIVar40,"Save/Image",(type_19)var_73,
                                              (type_7)var_26);
                    if (var_9 == var_5) break;
                    var_26 = pIVar40->rows;
                  }
                  var_33._0_4_ = (type_3 *)((int)(type_3 *)var_33 + 1);
                  var_73 = (double)var_84(var_73._4_4_ +
                                                (type_12)(0xfffffffe < (type_12)var_73),
                                                (type_12)var_73 + 1);
                } while ((int)(type_3 *)var_33 < (int)var_26);
              }
            }
            else {
              if (var_101 != var_110) {
                var_90 = var_89(var_26,1);
                if (var_90 != (type_15 *)0x0) {
                  var_137 = (type_10 *)var_91(var_90);
                  if (0 < (int)pIVar40->rows) {
                    var_73 = 0.0;
                    var_33._0_4_ = (type_3 *)0x0;
                    var_121 = var_137;
                    do {
                      var_93 = var_92(pIVar40,0,(ssize_t)(type_3 *)var_33,
                                                 pIVar40->columns,1,var_7);
                      if (var_93 == (type_14 *)0x0) break;
                      var_94 = var_121;
                      puVar34 = var_121;
                      if (0 < (int)pIVar40->columns) {
                        do {
                          uVar13 = '\0';
                          if (pIVar40->channel_map[5].traits != var_15) {
                            uVar13 = (type_10)(int)var_59(var_93[pIVar40->channel_map[5].offset]);
                          }
                          puVar34 = var_94 + 1;
                          *var_94 = uVar13;
                          var_93 = var_93 + pIVar40->number_channels;
                          var_94 = puVar34;
                        } while ((int)puVar34 - (int)var_121 < (int)pIVar40->columns);
                      }
                      var_64 = pIVar40->rows;
                      if (pIVar40->previous == (type_6 *)0x0) {
                        var_9 = var_100(pIVar40,"Save/Image",(type_19)var_73,
                                                  (type_7)var_64);
                        if (var_9 == var_5) break;
                        var_64 = pIVar40->rows;
                      }
                      var_33._0_4_ = (type_3 *)((int)(type_3 *)var_33 + 1);
                      var_73 = (double)var_84(var_73._4_4_ +
                                                    (type_12)(0xfffffffe < (type_12)var_73),
                                                    (type_12)var_73 + 1);
                      var_121 = puVar34;
                    } while ((int)(type_3 *)var_33 < (int)var_64);
                  }
                  goto LAB_00237039;
                }
                var_83(var_11);
                var_12
                          (var_7,"coders/pdf.c","WritePDFImage",0x860,ErrorException,
                           "MemoryAllocationFailed","`%s\'",pIVar40->filename);
                if (var_2->adjoin != var_5) {
                  var_17 = pIVar40->previous;
                  while (var_111 = var_17, var_111 != (type_3 *)0x0) {
                    pIVar40 = var_111;
                    var_17 = var_111->previous;
                  }
                }
                goto LAB_00239234;
              }
              var_106(pIVar40);
              if (0 < (int)pIVar40->rows) {
                var_73 = 0.0;
                var_33._0_4_ = (type_3 *)0x0;
                do {
                  var_93 = var_92(pIVar40,0,(ssize_t)(type_3 *)var_33,pIVar40->columns
                                             ,1,var_7);
                  if (var_93 == (type_14 *)0x0) break;
                  if (0 < (int)pIVar40->columns) {
                    var_20 = 0;
                    do {
                      uVar13 = '\0';
                      if (pIVar40->channel_map[5].traits != var_15) {
                        uVar13 = (type_10)(int)var_59(var_93[pIVar40->channel_map[5].offset]);
                      }
                      var_20 = var_20 + 1;
                      var_107(pIVar40,uVar13);
                      var_93 = var_93 + pIVar40->number_channels;
                    } while (var_20 < (int)pIVar40->columns);
                  }
                  var_26 = pIVar40->rows;
                  if (pIVar40->previous == (type_6 *)0x0) {
                    var_9 = var_100(pIVar40,"Save/Image",(type_19)var_73,
                                              (type_7)var_26);
                    if (var_9 == var_5) break;
                    var_26 = pIVar40->rows;
                  }
                  var_33._0_4_ = (type_3 *)((int)(type_3 *)var_33 + 1);
                  var_73 = (double)var_84(var_73._4_4_ +
                                                (type_12)(0xfffffffe < (type_12)var_73),
                                                (type_12)var_73 + 1);
                } while ((int)(type_3 *)var_33 < (int)var_26);
              }
            }
LAB_002368f4:
            var_112(pIVar40);
            goto LAB_002361b2;
          }
_L184:
          var_20 = var_19("0","0");
          if (var_20 == 0) {
            var_113(var_2,pIVar40,pIVar40,var_7);
          }
          else {
            var_114(var_2,pIVar40,pIVar40,var_7);
          }
LAB_002361b2:
          var_79 = var_37(pIVar40);
          var_35(pIVar40,"\nendstream\n");
          var_35(pIVar40,"endobj\n");
          MVar44 = var_37(pIVar40);
          *(type_19 *)(var_11 + (type_12)var_125 * 2 + 0xc) = MVar44;
          local_61c4 = (type_7)((type_12)var_125 + 7);
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45((double)local_61c4,0),
                             (int)((type_7)(double)local_61c4 >> 0x20));
          var_35(pIVar40,buffer);
          var_34(buffer,0x1000,"%.20g\n",var_45((double)(var_79 - var_80),0),
                             (int)((type_7)(double)(var_79 - var_80) >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,"endobj\n");
          var_26 = (type_12)var_125 + 8;
          var_80 = var_37(pIVar40);
          *(type_19 *)(var_11 + (type_12)var_125 * 2 + 0xe) = var_80;
          local_61c4 = (type_7)var_26;
          var_85 = (double)local_61c4;
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45(var_85,0),
                             (int)((type_7)var_85 >> 0x20));
          var_35(pIVar40,buffer);
          if (pIVar40->colorspace == var_25) {
            if (var_23 != (type_11 *)0x0) {
              var_56._0_4_ = 4;
              var_74 = "DeviceCMYK";
              goto LAB_0023814a;
            }
            var_74 = "DeviceCMYK";
LAB_0023632d:
            var_34(buffer,0x1000,"/%s\n",var_74);
LAB_00236346:
            var_35(pIVar40,buffer);
          }
          else {
            if ((var_50 < var_82) ||
               ((var_2->type != var_88 &&
                (var_9 = var_21(pIVar40,var_7), var_9 != var_5)))) {
              var_74 = "DeviceGray";
              if (var_23 == (type_11 *)0x0) goto LAB_0023632d;
              var_56._0_4_ = 1;
              var_74 = "DeviceGray";
            }
            else if (((pIVar40->storage_class == var_81) || (0x100 < pIVar40->colors)) ||
                    (var_101 - var_18 < 2)) {
              var_74 = "DeviceRGB";
              if (var_23 == (type_11 *)0x0) goto LAB_0023632d;
              var_56._0_4_ = 3;
            }
            else {
              if (var_23 == (type_11 *)0x0) {
                dVar49 = (double)((float)(int)pIVar40->colors - var_115);
                var_34(buffer,0x1000,"[ /Indexed /%s %.20g %.20g 0 R ]\n","DeviceRGB",
                                   var_45(dVar49,0),(int)((type_7)dVar49 >> 0x20),
                                   var_45(var_85 + (double)DAT_002a9b78,0),
                                   (int)((type_7)(var_85 + (double)DAT_002a9b78) >> 0x20));
                goto LAB_00236346;
              }
              var_56._0_4_ = 0;
              var_74 = "DeviceRGB";
            }
LAB_0023814a:
            var_34(buffer,0x1000,"[/ICCBased %.20g 0 R]\n",var_45(var_85 + 1.0,0),
                               (int)((type_7)(var_85 + 1.0) >> 0x20));
            var_35(pIVar40,buffer);
            var_35(pIVar40,"endobj\n");
            var_80 = var_37(pIVar40);
            *(type_19 *)(var_11 + (type_12)var_125 * 2 + 0x10) = var_80;
            var_73 = (double)(type_7)((type_12)var_125 + 9);
            var_85 = (double)(type_8)var_73;
            var_34(buffer,0x1000,"%.20g 0 obj\n",var_45(var_85,0),
                               (int)((type_7)var_85 >> 0x20));
            var_35(pIVar40,buffer);
            var_34(buffer,0x1000,
                               "<<\n/N %.20g\n/Filter /ASCII85Decode\n/Length %.20g 0 R\n/Alternate /%s\n>>\nstream\n"
                               ,var_45((double)(type_12)var_56,0),
                               (int)((type_7)(double)(type_12)var_56 >> 0x20),
                               var_45(var_85 + 1.0,0),(int)((type_7)(var_85 + 1.0) >> 0x20),var_74)
            ;
            var_35(pIVar40,buffer);
            var_80 = var_37(pIVar40);
            var_106(pIVar40);
            var_137 = var_116(var_23);
            for (var_20 = 0; var_123 = var_117(var_23), var_20 < (int)var_123;
                var_20 = var_20 + 1) {
              var_107(pIVar40,var_137[var_20]);
            }
            var_112(pIVar40);
            var_79 = var_37(pIVar40);
            var_35(pIVar40,"endstream\n");
            var_35(pIVar40,"endobj\n");
            var_26 = (type_12)var_125 + 10;
            var_20 = (type_12)var_125 * 2;
            MVar44 = var_37(pIVar40);
            var_125 = (type_7)var_26;
            *(type_19 *)(var_11 + var_20 + 0x12) = MVar44;
            var_34(buffer,0x1000,"%.20g 0 obj\n",var_45((double)var_125,0),
                               (int)((type_7)(double)var_125 >> 0x20));
            var_35(pIVar40,buffer);
            var_34(buffer,0x1000,"%.20g\n",var_45((double)(var_79 - var_80),0),
                               (int)((type_7)(double)(var_79 - var_80) >> 0x20));
            var_35(pIVar40,buffer);
          }
          var_35(pIVar40,"endobj\n");
          var_63(pIVar40,&geometry);
          var_67("106x106+0+0>",x,y,&geometry.width,height);
          var_74 = var_28(var_2,"pdf:thumbnail");
          var_9 = var_118(var_74);
          if (var_9 == var_5) {
            var_67("1x1+0+0>",x,y,&geometry.width,height);
          }
          var_17 = var_119(pIVar40,geometry.width,geometry.height,var_7);
          if (var_17 == (type_3 *)0x0) goto LAB_002345f8;
          var_80 = var_37(pIVar40);
          var_85 = (double)(var_26 + 1);
          *(type_19 *)(var_11 + var_26 * 2) = var_80;
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45(var_85,0),
                             (int)((type_7)var_85 >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,"<<\n");
          switch(local_61a8) {
          case (type_10 *)0x0:
          case (type_10 *)0x1:
            var_40(buffer,"/Filter [ /CCITTFaxDecode ]\n",0x1000);
            var_35(pIVar40,buffer);
            local_61c4 = (type_7)var_17->rows;
            dVar49 = (double)local_61c4;
            local_61c4 = (type_7)var_17->columns;
            var_34(buffer,0x1000,
                               "/DecodeParms [ << /K %s /BlackIs1 false /Columns %.20g /Rows %.20g >> ]\n"
                               ,"0",var_45((double)local_61c4,0),
                               (int)((type_7)(double)local_61c4 >> 0x20),var_45(dVar49,0),
                               (int)((type_7)dVar49 >> 0x20));
            goto LAB_0023649f;
          default:
            var_74 = "RunLengthDecode";
            break;
          case (type_10 *)0x4:
            var_74 = "JPXDecode";
            goto LAB_00236676;
          case (type_10 *)0x5:
            var_74 = "DCTDecode";
LAB_00236676:
            var_29 = "/Filter [ /%s ]\n";
            var_34(buffer,0x1000,"/Filter [ /%s ]\n",var_74);
            dVar49 = (double)var_84(var_74,var_29);
            if (var_17->colorspace == var_25) {
              var_35(pIVar40,buffer);
              uVar48 = 0x1000;
              var_40(buffer,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);
              dVar49 = (double)var_84(var_74,uVar48);
            }
            goto LAB_0023649f;
          case (type_10 *)0x8:
            var_74 = "LZWDecode";
            break;
          case (type_10 *)0x9:
            var_74 = "ASCII85Decode";
            break;
          case (type_10 *)0xd:
            var_74 = "FlateDecode";
          }
          var_29 = "/Filter [ /%s ]\n";
          var_34(buffer,0x1000,"/Filter [ /%s ]\n",var_74);
          dVar49 = (double)var_84(var_74,var_29);
LAB_0023649f:
          var_74 = buffer;
          var_35(pIVar40,buffer);
          local_61c4 = (type_7)var_17->columns;
          var_34(buffer,0x1000,"/Width %.20g\n",var_45((double)local_61c4,0),
                             (int)((type_7)(double)local_61c4 >> 0x20),var_74,var_45(dVar49,0),
                             (int)((type_7)dVar49 >> 0x20));
          var_35(pIVar40,buffer);
          local_61c4 = (type_7)var_17->rows;
          var_34(buffer,0x1000,"/Height %.20g\n",var_45((double)local_61c4,0),
                             (int)((type_7)(double)local_61c4 >> 0x20));
          var_35(pIVar40,buffer);
          var_69 = DAT_002a9b78;
          if (var_23 == (type_11 *)0x0) {
            var_69 = 1.0;
          }
          dVar49 = (double)((float)(var_26 + 1) - var_69);
          var_34(buffer,0x1000,"/ColorSpace %.20g 0 R\n",var_45(dVar49,0),
                             (int)((type_7)dVar49 >> 0x20));
          var_35(pIVar40,buffer);
          var_34(buffer,0x1000,"/BitsPerComponent %d\n",var_53._0_4_);
          var_35(pIVar40,buffer);
          var_34(buffer,0x1000,"/Length %.20g 0 R\n",
                             var_45(var_85 + (double)var_115,0),
                             (int)((type_7)(var_85 + (double)var_115) >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,">>\n");
          var_35(pIVar40,"stream\n");
          var_80 = var_37(pIVar40);
          if (var_50 < var_82) {
_L295:
            var_20 = var_19("0","0");
            if (var_20 == 0) {
              var_113(var_2,pIVar40,var_17,var_7);
            }
            else {
              var_114(var_2,pIVar40,var_17,var_7);
            }
            goto LAB_00236939;
          }
          var_123 = var_17->rows * var_17->columns;
          if ((var_2->type == var_88) ||
             (var_9 = var_21(var_17,var_7), var_9 == var_5)) {
            if ((var_17->storage_class != var_81) &&
               ((var_17->colors < 0x101 && (1 < var_101 - var_18)))) {
              if (var_101 == var_110) {
                var_106(pIVar40);
                if (0 < (int)var_17->rows) {
                  _local_61dc = (type_29)((type_27)(type_28)auStack_61d8._0_6_ << 0x20);
                  do {
                    var_93 = var_92(var_17,0,(ssize_t)local_61dc,var_17->columns,1,
                                               var_7);
                    if (var_93 == (type_14 *)0x0) break;
                    if (0 < (int)var_17->columns) {
                      var_20 = 0;
                      do {
                        uVar13 = '\0';
                        if (var_17->channel_map[5].traits != var_15) {
                          uVar13 = (type_10)(int)var_59(var_93[var_17->channel_map[5].offset]);
                        }
                        var_20 = var_20 + 1;
                        var_107(pIVar40,uVar13);
                        var_93 = var_93 + pIVar40->number_channels;
                      } while (var_20 < (int)var_17->columns);
                    }
                    var_20 = (int)local_61dc + 1;
                    _local_61dc = (type_29)var_48(auStack_61d8._0_6_,var_20);
                  } while (var_20 < (int)var_17->rows);
                }
                goto LAB_00236e87;
              }
              var_120 = var_89(var_123,1);
              _local_61dc = (type_29)var_48(auStack_61d8._0_6_,var_120);
              if (var_120 != (type_15 *)0x0) {
                local_61a8 = (type_10 *)var_91(var_120);
                if (0 < (int)var_17->rows) {
                  var_20 = 0;
                  var_137 = local_61a8;
                  do {
                    var_93 = var_92(var_17,0,var_20,var_17->columns,1,var_7);
                    if (var_93 == (type_14 *)0x0) break;
                    var_121 = var_137;
                    var_94 = var_137;
                    if (0 < (int)var_17->columns) {
                      do {
                        uVar13 = '\0';
                        if (var_17->channel_map[5].traits != var_15) {
                          uVar13 = (type_10)(int)var_59(var_93[var_17->channel_map[5].offset]);
                        }
                        var_94 = var_121 + 1;
                        *var_121 = uVar13;
                        var_93 = var_93 + var_17->number_channels;
                        var_121 = var_94;
                      } while ((int)var_94 - (int)var_137 < (int)var_17->columns);
                    }
                    var_20 = var_20 + 1;
                    var_137 = var_94;
                  } while (var_20 < (int)var_17->rows);
                }
                goto LAB_0023720b;
              }
              var_122(var_17);
              var_83(var_11);
              var_12
                        (var_7,"coders/pdf.c","WritePDFImage",0xa68,ErrorException,
                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);
              if (var_2->adjoin != var_5) {
                var_17 = pIVar40->previous;
                while (var_111 = var_17, var_111 != (type_3 *)0x0) {
                  pIVar40 = var_111;
                  var_17 = var_111->previous;
                }
              }
              goto LAB_00239234;
            }
            if (var_101 == var_109) goto _L324;
            if (var_101 == var_110) {
              var_106(pIVar40);
              if ((int)var_17->rows < 1) goto LAB_00236e87;
              var_20 = 0;
              do {
                var_93 = var_92(var_17,0,var_20,var_17->columns,1,var_7);
                if (var_93 == (type_14 *)0x0) break;
                if (0 < (int)var_17->columns) {
                  var_33._0_4_ = (type_3 *)0x0;
                  do {
                    uVar13 = '\0';
                    if (0.0 < var_93[var_17->channel_map->offset]) {
                      var_85 = var_93[var_17->channel_map->offset] / (double)var_98;
                      uVar13 = 0xff;
                      if (var_85 < (double)var_99) {
                        uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                      }
                    }
                    var_107(pIVar40,uVar13);
                    uVar13 = '\0';
                    if (0.0 < var_93[var_17->channel_map[1].offset]) {
                      var_85 = var_93[var_17->channel_map[1].offset] / (double)var_98;
                      uVar13 = 0xff;
                      if (var_85 < (double)var_99) {
                        uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                      }
                    }
                    var_107(pIVar40,uVar13);
                    uVar13 = '\0';
                    if (0.0 < var_93[var_17->channel_map[2].offset]) {
                      var_85 = var_93[var_17->channel_map[2].offset] / (double)var_98;
                      uVar13 = 0xff;
                      if (var_85 < (double)var_99) {
                        uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                      }
                    }
                    var_107(pIVar40,uVar13);
                    if (pIVar40->colorspace == var_25) {
                      uVar13 = '\0';
                      if ((var_17->channel_map[3].traits != var_15) &&
                         (0.0 < var_93[var_17->channel_map[3].offset])) {
                        var_85 = var_93[var_17->channel_map[3].offset] / (double)var_98;
                        uVar13 = 0xff;
                        if (var_85 < (double)var_99) {
                          uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                        }
                      }
                      var_107(pIVar40,uVar13);
                    }
                    var_33._0_4_ = (type_3 *)((int)(type_3 *)var_33 + 1);
                    var_93 = var_93 + var_17->number_channels;
                  } while ((int)(type_3 *)var_33 < (int)var_17->columns);
                }
                var_20 = var_20 + 1;
              } while (var_20 < (int)var_17->rows);
              var_112(pIVar40);
              goto LAB_00236939;
            }
            if (var_101 == var_18) goto _L326;
            var_123 = var_123 * ((var_17->colorspace == var_25) + 3);
            var_120 = var_89(var_123,4);
            if (var_120 == (type_15 *)0x0) {
              var_122(var_17);
              var_83(var_11);
              var_12
                        (var_7,"coders/pdf.c","WritePDFImage",0xa0b,ErrorException,
                         "MemoryAllocationFailed","`%s\'",pIVar40->filename);
              var_13 = (type_6 *)var_2->adjoin;
              var_17 = pIVar40;
              while (var_111 = var_17, var_13 != (type_6 *)0x0) {
                var_13 = var_111->previous;
                var_17 = var_13;
                pIVar40 = var_111;
              }
              goto LAB_00239234;
            }
            var_137 = (type_10 *)var_91(var_120);
            if (0 < (int)var_17->rows) {
              var_20 = 0;
              var_121 = var_137;
              do {
                var_93 = var_92(var_17,0,var_20,var_17->columns,1,var_7);
                if (var_93 == (type_14 *)0x0) break;
                if (0 < (int)var_17->columns) {
                  var_46 = 0;
                  var_94 = var_121;
                  do {
                    uVar13 = '\0';
                    if (0.0 < var_93[var_17->channel_map->offset]) {
                      var_85 = var_93[var_17->channel_map->offset] / (double)var_98;
                      uVar13 = 0xff;
                      if (var_85 < (double)var_99) {
                        uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                      }
                    }
                    *var_94 = uVar13;
                    uVar13 = '\0';
                    if (0.0 < var_93[var_17->channel_map[1].offset]) {
                      var_85 = var_93[var_17->channel_map[1].offset] / (double)var_98;
                      uVar13 = 0xff;
                      if (var_85 < (double)var_99) {
                        uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                      }
                    }
                    var_94[1] = uVar13;
                    uVar13 = '\0';
                    if (0.0 < var_93[var_17->channel_map[2].offset]) {
                      var_85 = var_93[var_17->channel_map[2].offset] / (double)var_98;
                      uVar13 = 0xff;
                      if (var_85 < (double)var_99) {
                        uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                      }
                    }
                    var_94[2] = uVar13;
                    if (var_17->colorspace == var_25) {
                      var_121 = var_94 + 4;
                      _local_61dc = (type_29)var_48(auStack_61d8._0_6_,var_121);
                      uVar13 = '\0';
                      if ((var_17->channel_map[3].traits != var_15) &&
                         (0.0 < var_93[var_17->channel_map[3].offset])) {
                        var_85 = var_93[var_17->channel_map[3].offset] / (double)var_98;
                        uVar13 = 0xff;
                        if (var_85 < (double)var_99) {
                          uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                        }
                      }
                      var_94[3] = uVar13;
                    }
                    else {
                      var_121 = var_94 + 3;
                    }
                    var_46 = var_46 + 1;
                    var_93 = var_93 + var_17->number_channels;
                    var_94 = var_121;
                  } while (var_46 < (int)var_17->columns);
                }
                var_20 = var_20 + 1;
              } while (var_20 < (int)var_17->rows);
            }
            if (var_101 == var_102) {
              var_9 = var_103(pIVar40,var_123,var_137,var_7);
            }
            else {
              var_9 = var_104(pIVar40,var_123,var_137,var_7);
            }
            var_105(var_120);
            if (var_9 != var_5) goto LAB_00236939;
            var_9 = var_5;
LAB_0023707e:
            var_83(var_11);
            var_124(pIVar40);
            goto LAB_002345fa;
          }
          switch(local_61a8) {
          case (type_10 *)0x0:
          case (type_10 *)0x1:
            goto _L295;
          default:
            var_120 = var_89(var_123,1);
            _local_61dc = (type_29)var_48(auStack_61d8._0_6_,var_120);
            if (var_120 != (type_15 *)0x0) {
              local_61a8 = (type_10 *)var_91(var_120);
              if (0 < (int)var_17->rows) {
                var_20 = 0;
                var_137 = local_61a8;
                do {
                  var_93 = var_92(var_17,0,var_20,var_17->columns,1,var_7);
                  if (var_93 == (type_14 *)0x0) break;
                  var_121 = var_137;
                  var_94 = var_137;
                  if (0 < (int)var_17->columns) {
                    do {
                      pPVar7 = var_17->channel_map;
                      var_94 = var_121 + 1;
                      uVar13 = '\0';
                      var_69 = (float)var_93[pPVar7[2].offset] * var_95 +
                               var_96 * (float)var_93[pPVar7[1].offset] +
                               var_97 * (float)var_93[pPVar7->offset];
                      if (0.0 < var_69) {
                        var_69 = var_69 / var_98;
                        uVar13 = 0xff;
                        if (var_69 < var_99) {
                          uVar13 = (type_10)(short)var_59(var_69 + var_61);
                        }
                      }
                      *var_121 = uVar13;
                      var_93 = var_93 + var_17->number_channels;
                      var_121 = var_94;
                    } while ((int)var_94 - (int)var_137 < (int)var_17->columns);
                  }
                  var_20 = var_20 + 1;
                  var_137 = var_94;
                } while (var_20 < (int)var_17->rows);
              }
LAB_0023720b:
              if (var_101 == var_102) {
                var_9 = var_103(pIVar40,var_123,local_61a8,var_7);
              }
              else {
                var_9 = var_104(pIVar40,var_123,local_61a8,var_7);
              }
              var_105((type_15 *)local_61dc);
              if (var_9 == var_5) {
                var_9 = var_5;
                goto LAB_0023707e;
              }
              goto LAB_00236939;
            }
            var_122(var_17);
            var_83(var_11);
            var_12
                      (var_7,"coders/pdf.c","WritePDFImage",0x9a1,ErrorException,
                       "MemoryAllocationFailed","`%s\'",pIVar40->filename);
            var_13 = (type_6 *)var_2->adjoin;
            var_17 = pIVar40;
            while (var_111 = var_17, var_13 != (type_6 *)0x0) {
              var_13 = var_111->previous;
              var_17 = var_13;
              pIVar40 = var_111;
            }
            goto LAB_00239234;
          case (type_10 *)0x4:
_L326:
            var_74 = "jp2";
            break;
          case (type_10 *)0x5:
_L324:
            var_74 = "jpeg";
            break;
          case (type_10 *)0x9:
            var_106(pIVar40);
            if (0 < (int)var_17->rows) {
              var_20 = 0;
              do {
                var_93 = var_92(var_17,0,var_20,var_17->columns,1,var_7);
                if (var_93 == (type_14 *)0x0) break;
                if (0 < (int)var_17->columns) {
                  var_46 = 0;
                  do {
                    pPVar7 = var_17->channel_map;
                    uVar13 = '\0';
                    var_69 = (float)var_93[pPVar7[2].offset] * var_95 +
                             var_96 * (float)var_93[pPVar7[1].offset] +
                             var_97 * (float)var_93[pPVar7->offset];
                    if (0.0 < var_69) {
                      var_69 = var_69 / var_98;
                      uVar13 = 0xff;
                      if (var_69 < var_99) {
                        uVar13 = (type_10)(short)var_59(var_69 + var_61);
                      }
                    }
                    var_46 = var_46 + 1;
                    var_107(pIVar40,uVar13);
                    var_93 = var_93 + var_17->number_channels;
                  } while (var_46 < (int)var_17->columns);
                }
                var_20 = var_20 + 1;
              } while (var_20 < (int)var_17->rows);
            }
LAB_00236e87:
            var_112(pIVar40);
            goto LAB_00236939;
          }
          var_9 = var_108(var_2,pIVar40,var_17,var_74,var_7);
          if (var_9 == var_5) goto LAB_0023707e;
LAB_00236939:
          var_122(var_17);
          var_79 = var_37(pIVar40);
          lVar11 = var_79 - var_80;
          var_35(pIVar40,"\nendstream\n");
          var_35(pIVar40,"endobj\n");
          var_80 = var_37(pIVar40);
          _local_61dc = (type_29)((type_27)(type_30)auStack_61d8._4_2_ << 0x40);
          *(type_19 *)(var_11 + var_26 * 2 + 2) = var_80;
          _local_61dc = (type_29)var_48(auStack_61d8._0_6_,var_26 + 2);
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45((double)_local_61dc,0),
                             (int)((type_7)(double)_local_61dc >> 0x20));
          var_35(pIVar40,buffer);
          var_34(buffer,0x1000,"%.20g\n",var_45((double)lVar11,0),
                             (int)((type_7)(double)lVar11 >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,"endobj\n");
          var_80 = var_37(pIVar40);
          *(type_19 *)(var_11 + var_26 * 2 + 4) = var_80;
          var_125 = (type_7)(var_26 + 3);
          var_85 = (double)var_125;
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45(var_85,0),
                             (int)((type_7)var_85 >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,"<<\n");
          if (((pIVar40->storage_class == var_81) || (0x100 < pIVar40->colors)) ||
             (var_50 < var_82)) {
            var_35(pIVar40,">>\n");
          }
          else {
            if (var_101 == var_110) {
              var_35(pIVar40,"/Filter [ /ASCII85Decode ]\n");
              var_34(buffer,0x1000,"/Length %.20g 0 R\n",
                                 var_45(var_85 + (double)var_115,0),
                                 (int)((type_7)(var_85 + (double)var_115) >> 0x20));
              var_35(pIVar40,buffer);
              var_35(pIVar40,">>\n");
              var_35(pIVar40,"stream\n");
              var_125 = var_37(pIVar40);
              var_106(pIVar40);
              if (0 < (int)pIVar40->colors) goto LAB_002384f8;
LAB_00239b55:
              var_112(pIVar40);
            }
            else {
              var_34(buffer,0x1000,"/Length %.20g 0 R\n",
                                 var_45(var_85 + (double)var_115,0),
                                 (int)((type_7)(var_85 + (double)var_115) >> 0x20));
              var_35(pIVar40,buffer);
              var_35(pIVar40,">>\n");
              var_35(pIVar40,"stream\n");
              var_125 = var_37(pIVar40);
              if (0 < (int)pIVar40->colors) {
LAB_002384f8:
                var_46 = 0;
                var_20 = 0;
                do {
                  while( true ) {
                    var_69 = (float)*(double *)((int)&pIVar40->colormap->red + var_46);
                    uVar13 = '\0';
                    if (var_101 != var_110) break;
                    if (0.0 < var_69) {
                      uVar13 = 0xff;
                      if (var_69 / var_98 < var_99) {
                        uVar13 = (type_10)(short)var_59(var_69 / var_98 + var_61);
                      }
                    }
                    var_107(pIVar40,uVar13);
                    var_85 = *(double *)((int)&pIVar40->colormap->green + var_46);
                    uVar13 = '\0';
                    if (0.0 < var_85) {
                      var_85 = var_85 / (double)var_98;
                      uVar13 = 0xff;
                      if (var_85 < (double)var_99) {
                        uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                      }
                    }
                    var_107(pIVar40,uVar13);
                    var_85 = *(double *)((int)&pIVar40->colormap->blue + var_46);
                    uVar13 = '\0';
                    if (0.0 < var_85) {
                      var_85 = var_85 / (double)var_98;
                      uVar13 = 0xff;
                      if (var_85 < (double)var_99) {
                        uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                      }
                    }
                    var_20 = var_20 + 1;
                    var_46 = var_46 + 0x50;
                    var_107(pIVar40,uVar13);
                    if ((int)pIVar40->colors <= var_20) goto LAB_00238890;
                  }
                  if (0.0 < var_69) {
                    uVar13 = 0xff;
                    if (var_69 / var_98 < var_99) {
                      uVar13 = (type_10)(short)var_59(var_69 / var_98 + var_61);
                    }
                  }
                  var_36(pIVar40,uVar13);
                  var_85 = *(double *)((int)&pIVar40->colormap->green + var_46);
                  uVar13 = '\0';
                  if (0.0 < var_85) {
                    var_85 = var_85 / (double)var_98;
                    uVar13 = 0xff;
                    if (var_85 < (double)var_99) {
                      uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                    }
                  }
                  var_36(pIVar40,uVar13);
                  var_85 = *(double *)((int)&pIVar40->colormap->blue + var_46);
                  uVar13 = '\0';
                  if (0.0 < var_85) {
                    var_85 = var_85 / (double)var_98;
                    uVar13 = 0xff;
                    if (var_85 < (double)var_99) {
                      uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                    }
                  }
                  var_20 = var_20 + 1;
                  var_46 = var_46 + 0x50;
                  var_36(pIVar40,uVar13);
                } while (var_20 < (int)pIVar40->colors);
              }
LAB_00238890:
              if (var_101 == var_110) goto LAB_00239b55;
            }
            var_80 = var_37(pIVar40);
            lVar11 = var_80 - var_125;
            var_35(pIVar40,"\nendstream\n");
          }
          _local_61dc = (type_29)lVar11;
          var_35(pIVar40,"endobj\n");
          var_80 = var_37(pIVar40);
          *(type_19 *)(var_11 + var_26 * 2 + 6) = var_80;
          var_125 = (type_7)(var_26 + 4);
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45((double)var_125,0),
                             (int)((type_7)(double)var_125 >> 0x20));
          var_35(pIVar40,buffer);
          var_34(buffer,0x1000,"%.20g\n",var_45((double)lVar11,0),
                             (int)((type_7)(double)lVar11 >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,"endobj\n");
          var_80 = var_37(pIVar40);
          *(type_19 *)(var_11 + var_26 * 2 + 8) = var_80;
          var_125 = (type_7)(var_26 + 5);
          var_85 = (double)var_125;
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45(var_85,0),
                             (int)((type_7)var_85 >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,"<<\n");
          if (pIVar40->alpha_trait != var_15) {
            var_35(pIVar40,"/Type /XObject\n");
            var_35(pIVar40,"/Subtype /Image\n");
            uVar12 = auStack_61d8._4_2_;
            _local_61dc = (type_29)((type_27)(type_30)auStack_61d8._4_2_ << 0x40);
            _local_61dc = (type_29)var_48(auStack_61d8._0_6_,pIVar40->scene);
            var_34(buffer,0x1000,"/Name /Ma%.20g\n",var_45((double)_local_61dc,0),
                               (int)((type_7)(double)_local_61dc >> 0x20));
            var_35(pIVar40,buffer);
            if (var_101 == var_110) {
              var_74 = "ASCII85Decode";
            }
            else if (var_101 == var_126) {
              var_74 = "FlateDecode";
            }
            else if (var_101 == var_102) {
              var_74 = "LZWDecode";
            }
            else {
              var_74 = "RunLengthDecode";
            }
            var_34(buffer,0x1000,"/Filter [ /%s ]\n",var_74);
            var_35(pIVar40,buffer);
            _local_61dc = (type_29)((type_27)(type_30)uVar12 << 0x40);
            _local_61dc = (type_29)var_48(auStack_61d8._0_6_,pIVar40->columns);
            var_34(buffer,0x1000,"/Width %.20g\n",var_45((double)_local_61dc,0),
                               (int)((type_7)(double)_local_61dc >> 0x20));
            var_35(pIVar40,buffer);
            _local_61dc = (type_29)((type_27)(type_30)uVar12 << 0x40);
            _local_61dc = (type_29)var_48(auStack_61d8._0_6_,pIVar40->rows);
            var_34(buffer,0x1000,"/Height %.20g\n",var_45((double)_local_61dc,0),
                               (int)((type_7)(double)_local_61dc >> 0x20));
            var_35(pIVar40,buffer);
            var_35(pIVar40,"/ColorSpace /DeviceGray\n");
            var_34(buffer,0x1000,"/BitsPerComponent %d\n",var_53._0_4_);
            var_35(pIVar40,buffer);
            var_34(buffer,0x1000,"/Length %.20g 0 R\n",
                               var_45(var_85 + (double)var_115,0),
                               (int)((type_7)(var_85 + (double)var_115) >> 0x20));
            var_35(pIVar40,buffer);
            var_35(pIVar40,">>\n");
            var_35(pIVar40,"stream\n");
            var_80 = var_37(pIVar40);
            if (var_101 == var_110) {
              var_106(pIVar40);
              if (0 < (int)pIVar40->rows) {
                var_33._0_4_ = (type_3 *)0x0;
                do {
                  var_93 = var_92(pIVar40,0,(ssize_t)(type_3 *)var_33,pIVar40->columns
                                             ,1,var_7);
                  if (var_93 == (type_14 *)0x0) break;
                  if (0 < (int)pIVar40->columns) {
                    var_20 = 0;
                    do {
                      uVar13 = 0xff;
                      if (pIVar40->channel_map[4].traits != var_15) {
                        uVar13 = '\0';
                        if (0.0 < var_93[pIVar40->channel_map[4].offset]) {
                          var_85 = var_93[pIVar40->channel_map[4].offset] / (double)var_98;
                          if ((double)var_99 <= var_85) {
                            uVar13 = 0xff;
                          }
                          else {
                            uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                          }
                        }
                      }
                      var_20 = var_20 + 1;
                      var_107(pIVar40,uVar13);
                      var_93 = var_93 + pIVar40->number_channels;
                    } while (var_20 < (int)pIVar40->columns);
                  }
                  var_33._0_4_ = (type_3 *)((int)(type_3 *)var_33 + 1);
                } while ((int)(type_3 *)var_33 < (int)pIVar40->rows);
              }
              var_112(pIVar40);
LAB_00237731:
              var_79 = var_37(pIVar40);
              var_35(pIVar40,"\nendstream\n");
              _local_61dc = (type_29)(var_79 - var_80);
              goto LAB_00236be1;
            }
            var_123 = pIVar40->rows * pIVar40->columns;
            var_120 = var_89(var_123,4);
            if (var_120 != (type_15 *)0x0) {
              var_137 = (type_10 *)var_91(var_120);
              if (0 < (int)pIVar40->rows) {
                var_33._0_4_ = (type_3 *)0x0;
                var_121 = var_137;
                do {
                  var_93 = var_92(pIVar40,0,(ssize_t)(type_3 *)var_33,pIVar40->columns
                                             ,1,var_7);
                  if (var_93 == (type_14 *)0x0) break;
                  var_94 = var_121;
                  puVar34 = var_121;
                  if (0 < (int)pIVar40->columns) {
                    do {
                      puVar34 = var_94 + 1;
                      uVar13 = 0xff;
                      if (pIVar40->channel_map[4].traits != var_15) {
                        uVar13 = '\0';
                        if (0.0 < var_93[pIVar40->channel_map[4].offset]) {
                          var_85 = var_93[pIVar40->channel_map[4].offset] / (double)var_98;
                          if ((double)var_99 <= var_85) {
                            uVar13 = 0xff;
                          }
                          else {
                            uVar13 = (type_10)(short)var_59(var_85 + (double)var_61);
                          }
                        }
                      }
                      *var_94 = uVar13;
                      var_93 = var_93 + pIVar40->number_channels;
                      var_94 = puVar34;
                    } while ((int)puVar34 - (int)var_121 < (int)pIVar40->columns);
                  }
                  var_33._0_4_ = (type_3 *)((int)(type_3 *)var_33 + 1);
                  var_121 = puVar34;
                } while ((int)(type_3 *)var_33 < (int)pIVar40->rows);
              }
              if (var_101 == var_102) {
                var_9 = var_103(pIVar40,var_123,var_137,var_7);
              }
              else {
                var_9 = var_104(pIVar40,var_123,var_137,var_7);
              }
              var_105(var_120);
              if (var_9 == var_5) goto LAB_0023707e;
              goto LAB_00237731;
            }
            var_17 = var_122(pIVar40);
            var_83(var_11);
            var_12
                      (var_7,"coders/pdf.c","WritePDFImage",0xb3e,ErrorException,
                       "MemoryAllocationFailed","`%s\'",var_17->filename);
            var_13 = (type_6 *)var_2->adjoin;
            pIVar40 = var_17;
            while (var_111 = var_17, var_13 != (type_6 *)0x0) {
              var_13 = var_111->previous;
              var_17 = var_13;
              pIVar40 = var_111;
            }
            var_124(pIVar40);
            goto LAB_002345f8;
          }
          var_35(pIVar40,">>\n");
LAB_00236be1:
          var_35(pIVar40,"endobj\n");
          var_125._0_4_ = var_26 + 6;
          var_80 = var_37(pIVar40);
          var_53 = (double)(type_7)(type_12)var_125;
          *(type_19 *)(var_11 + var_26 * 2 + 10) = var_80;
          var_34(buffer,0x1000,"%.20g 0 obj\n",var_45((double)(type_8)var_53,0),
                             (int)((type_7)(double)(type_8)var_53 >> 0x20));
          var_35(pIVar40,buffer);
          var_34(buffer,0x1000,"%.20g\n",var_45((double)_local_61dc,0),
                             (int)((type_7)(double)_local_61dc >> 0x20));
          var_35(pIVar40,buffer);
          var_35(pIVar40,"endobj\n");
          var_17 = var_16(pIVar40);
          var_33._0_4_ = pIVar40;
          if (var_17 == (type_3 *)0x0) goto LAB_00239247;
          var_33._0_4_ = var_127(pIVar40);
          var_20 = var_128 + (type_12)(0xfffffffe < var_129);
          _local_61dc = var_84(var_20,var_129 + 1);
          var_9 = var_100((type_3 *)var_33,"Save/Images",
                                    var_84(var_128,var_129),(type_7)var_133);
          if ((var_9 == var_5) ||
             (var_129 = var_129 + 1, var_128 = var_20, var_2->adjoin == var_5))
          goto LAB_00239247;
        } while( true );
      }
      while (var_111 = var_16(var_17), var_111 != (type_3 *)0x0) {
        var_130 = var_130 + 1;
        var_23 = var_22(var_17,"icc");
        var_46 = var_20;
        if (var_23 != (type_11 *)0x0) {
          var_46 = var_20 + 2;
        }
        var_20 = var_46 + 0xe;
        var_34(buffer,0x1000,"%.20g 0 R ",var_45((double)var_46,0),
                           (int)((type_7)(double)var_46 >> 0x20));
        var_35(var_4,buffer);
        var_17 = var_16(var_17);
      }
      var_11 = (type_12 *)var_131(var_11,var_20 + 0x800,8);
      if (var_11 != (type_12 *)0x0) goto LAB_00234b1f;
      var_12
                (var_7,"coders/pdf.c","WritePDFImage",0x5da,ErrorException,
                 "MemoryAllocationFailed","`%s\'",var_74);
      var_13 = (type_6 *)var_2->adjoin;
      while (var_17 = var_4, var_13 != (type_6 *)0x0) {
        var_13 = var_17->previous;
        var_4 = var_13;
        pIVar40 = var_17;
      }
    }
LAB_00239234:
    var_9 = var_5;
    var_124(pIVar40);
  }
  goto LAB_002345fa;
LAB_00239247:
  var_80 = var_37((type_3 *)var_33);
  local_61fc = (type_7)(var_26 + 7);
  var_32 = (double)local_61fc;
  *(type_19 *)(var_11 + (type_12)var_125 * 2) = var_80;
  uVar46 = (type_20)((type_7)var_32 >> 0x20);
  var_34(buffer,0x1000,"%.20g 0 obj\n",var_45(var_32,0),uVar46);
  var_35((type_3 *)var_33,buffer);
  var_35((type_3 *)var_33,"<<\n");
  var_20 = var_19(pcVar28,"PDFA");
  if (var_20 == 0) {
    var_74 = var_43(basename);
    var_34(buffer,0x1000,"/Title (%s)\n",var_74);
    var_44(var_74);
  }
  else {
    var_133 = var_132((type_10 *)basename,(type_17 *)0x0);
    var_143 = (type_12 *)basename;
    if (var_133 == 0) {
      do {
        var_135 = var_143;
        var_134 = *var_135 + 0xfefefeff & ~*var_135;
        var_64 = var_134 & 0x80808080;
        var_143 = var_135 + 1;
      } while (var_64 == 0);
      bVar41 = (var_134 & 0x8080) == 0;
      if (bVar41) {
        var_64 = var_64 >> 0x10;
      }
      if (bVar41) {
        var_143 = (type_12 *)((int)var_135 + 6);
      }
      var_137 = (type_10 *)((int)var_143 +
                         ((-3 - (type_12)var_136((type_31)var_64,(type_31)var_64)) - (int)basename));
      var_138 = (type_17 *)var_10((size_t)(var_137 + 1),4);
      var_121 = (type_10 *)0x0;
      if (var_138 != (type_17 *)0x0) {
        do {
          var_138[(int)var_121] = (type_12)*(type_31 *)((int)basename + (int)var_121);
          var_121 = var_121 + 1;
        } while (var_137 + 1 != var_121);
LAB_00239c56:
        var_139(date,"0123456789ABCDEF",0x10);
        var_34(buffer,0x1000,"/Title <");
        var_35((type_3 *)var_33,buffer);
        if (0 < (int)var_137) {
          var_140 = var_138;
          do {
            var_141 = var_140 + 1;
            var_36((type_3 *)var_33,'0');
            var_36((type_3 *)var_33,'0');
            var_36((type_3 *)var_33,date[*var_140 >> 4 & 0xf]);
            var_36((type_3 *)var_33,date[*var_140 & 0xf]);
            var_140 = var_141;
          } while (var_141 != var_138 + (int)var_137);
        }
        var_34(buffer,0x1000,">\n");
        var_83(var_138);
      }
    }
    else {
      var_138 = (type_17 *)var_10(var_133 + 1,4);
      if (var_138 != (type_17 *)0x0) {
        var_137 = (type_10 *)var_132((type_10 *)basename,var_138);
        goto LAB_00239c56;
      }
    }
  }
  var_35((type_3 *)var_33,buffer);
  seconds = var_41();
  var_142(&seconds,(type_32 *)&utc_time);
  var_34(date,0x1000,"D:%04d%02d%02d%02d%02d%02d",utc_time.tm_year + 0x76c,
                     utc_time.tm_mon + 1,utc_time.tm_mday,utc_time.tm_hour,utc_time.tm_min,
                     utc_time.tm_sec);
  var_34(buffer,0x1000,"/CreationDate (%s)\n",date);
  var_35((type_3 *)var_33,buffer);
  var_34(buffer,0x1000,"/ModDate (%s)\n",date);
  var_35((type_3 *)var_33,buffer);
  var_74 = var_43("https://imagemagick.org");
  var_34(buffer,0x1000,"/Producer (%s)\n",var_74);
  var_44(var_74);
  var_35((type_3 *)var_33,buffer);
  var_35((type_3 *)var_33,">>\n");
  var_35((type_3 *)var_33,"endobj\n");
  var_80 = var_37((type_3 *)var_33);
  var_64 = (type_12)var_80 - *var_11;
  var_46 = ((int)((type_7)var_80 >> 0x20) - var_11[1]) - (type_12)((type_12)var_80 < *var_11);
  var_20 = var_19(pcVar28,"PDFA");
  if (var_20 == 0) {
    bVar41 = 0xfffffff9 < var_64;
    var_64 = var_64 + 6;
    var_46 = var_46 + (type_12)bVar41;
  }
  var_125 = var_84(var_46 + (type_12)(0xfffffff5 < var_64),var_64 + 10);
  var_35((type_3 *)var_33,"xref\n");
  uVar48 = var_45(var_32 + (double)var_115,0);
  uVar47 = (type_20)((type_7)(var_32 + (double)var_115) >> 0x20);
  var_34(buffer,0x1000,"0 %.20g\n",uVar48,uVar47);
  var_35((type_3 *)var_33,buffer);
  var_35((type_3 *)var_33,"0000000000 65535 f \n");
  if (0 < (int)(var_26 + 7)) {
    var_143 = var_11;
    do {
      var_64 = *var_143;
      var_143 = var_143 + 2;
      var_34(buffer,0x1000,"%010lu 00000 n \n",var_64);
      var_35((type_3 *)var_33,buffer);
    } while (var_11 + var_26 * 2 + 0xe != var_143);
  }
  var_35((type_3 *)var_33,"trailer\n");
  var_35((type_3 *)var_33,"<<\n");
  var_34(buffer,0x1000,"/Size %.20g\n",uVar48,uVar47);
  var_35((type_3 *)var_33,buffer);
  var_34(buffer,0x1000,"/Info %.20g 0 R\n",var_45(var_32,0),uVar46);
  var_35((type_3 *)var_33,buffer);
  var_34(buffer,0x1000,"/Root %.20g 0 R\n",0,0x3ff00000);
  var_35((type_3 *)var_33,buffer);
  var_144((type_3 *)var_33,var_7);
  var_74 = var_39((type_3 *)var_33,"signature",var_7);
  pcVar28 = var_39((type_3 *)var_33,"signature",var_7);
  var_34(buffer,0x1000,"/ID [<%s> <%s>]\n",pcVar28,var_74);
  var_35((type_3 *)var_33,buffer);
  var_35((type_3 *)var_33,">>\n");
  var_35((type_3 *)var_33,"startxref\n");
  var_34(buffer,0x1000,"%.20g\n",var_45((double)(type_8)var_125,0),
                     (int)((type_7)(double)(type_8)var_125 >> 0x20));
  var_35((type_3 *)var_33,buffer);
  var_9 = MagickTrue;
  var_35((type_3 *)var_33,"%%EOF\n");
  var_83(var_11);
  var_124((type_3 *)var_33);
LAB_002345fa:
  if (var_145 == *(int *)(var_1 + 0x14)) {
    return var_9;
  }
                    /* WARNING: Subroutine does not return */
  var_146();
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

int MASKED(uint *param_1,int *param_2,char *param_3)

{
  float fVar1;
  float fVar2;
  int *piVar3;
  uint uVar4;
  int *piVar5;
  undefined1 uVar6;
  int iVar7;
  int *piVar8;
  uint *puVar9;
  uint uVar10;
  int iVar11;
  undefined4 uVar12;
  uint *puVar13;
  undefined1 *puVar14;
  int iVar15;
  char *pcVar16;
  uint uVar17;
  uint uVar18;
  char *pcVar19;
  uint *puVar20;
  char cVar21;
  undefined1 *puVar22;
  uint *puVar23;
  undefined1 *puVar24;
  int *piVar25;
  undefined8 *puVar26;
  int iVar27;
  undefined1 *puVar28;
  uint *puVar29;
  int iVar30;
  int *piVar31;
  int in_GS_OFFSET;
  bool bVar32;
  undefined2 in_FPUControlWord;
  undefined8 uVar33;
  char *pcVar34;
  undefined *puVar35;
  double dVar36;
  int *local_6224;
  char *local_620c;
  undefined8 *local_6200;
  int local_61f4;
  undefined8 local_61e4;
  int local_61dc;
  double local_61cc;
  ulonglong local_61c4;
  uint local_61b8;
  double local_61b4;
  uint *local_61a8;
  uint local_61a4;
  int local_6194;
  uint local_60cc;
  time_t local_60a8;
  uint local_60a4;
  uint local_60a0;
  int local_609c;
  int local_6098;
  undefined1 local_6094 [4];
  uint local_6090;
  undefined1 local_6084 [8];
  int local_607c;
  int local_6078;
  double local_6074;
  double local_606c;
  tm local_604c;
  uint local_6020 [1024];
  undefined1 local_5020 [4096];
  undefined1 auStack_4020 [4096];
  undefined1 auStack_3020 [4096];
  uint uStack_2020;
  undefined4 uStack_201c;
  undefined4 uStack_2018;
  undefined4 uStack_2014;
  undefined1 local_1020 [4096];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x234549;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == (uint *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pdf.c",0x52f,"WritePDFImage");
  }
  if (param_1[0xc7d] != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/pdf.c",0x530,
                  "WritePDFImage");
  }
  if (param_2 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","coders/pdf.c",0x531,"WritePDFImage");
  }
  if (param_2[0xcd1] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","coders/pdf.c",0x532,"WritePDFImage");
  }
  if (param_2[0xcca] != 0) {
    LogMagickEvent();
  }
  if (param_3 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pdf.c",0x535,"WritePDFImage");
  }
  if (*(int *)(param_3 + 0x1c) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/pdf.c",0x536,"WritePDFImage"
                 );
  }
  iVar7 = OpenBlob(param_1,param_2,4,param_3);
  if (iVar7 == 0) {
LAB_002345f8:
    iVar27 = 0;
  }
  else {
    local_6200 = (undefined8 *)AcquireQuantumMemory(0x800,8);
    piVar25 = param_2 + 0xc6;
    piVar31 = param_2;
    if (local_6200 == (undefined8 *)0x0) {
      pcVar34 = "`%s\'";
      pcVar19 = "MemoryAllocationFailed";
      ThrowMagickException();
      piVar8 = (int *)param_1[3];
      while (piVar5 = param_2, piVar8 != (int *)0x0) {
        piVar8 = (int *)piVar5[0xccf];
        param_2 = piVar8;
        piVar31 = piVar5;
      }
    }
    else {
      memset(local_6200,0,0x4000);
      piVar8 = param_2;
      do {
        piVar8 = (int *)GetNextImageInList(piVar8);
      } while (piVar8 != (int *)0x0);
      puVar9 = param_1 + 0x7c;
      LocaleCompare(puVar9,&DAT_002a2413);
      piVar8 = param_2;
      do {
        SetImageGray(piVar8,param_3);
        iVar7 = GetImageProfile(piVar8,&DAT_002a81ca);
        if (iVar7 != 0) {
          SetImageStorageClass(piVar8,1,param_3);
        }
        if ((0x1f < piVar8[1] - 2U) || ((0x80780003U >> (piVar8[1] - 2U & 0x1f) & 1) == 0)) {
          TransformImageColorspace(piVar8,0x17,param_3);
        }
        piVar8 = (int *)GetNextImageInList(piVar8);
      } while (piVar8 != (int *)0x0);
      iVar7 = GetImageOption(param_1,"pdf:version");
      if (iVar7 != 0) {
        InterpretLocaleValue(iVar7,0);
      }
      FormatLocaleString();
      WriteBlobString(param_2,local_5020);
      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);
      if (iVar7 == 0) {
        WriteBlobByte(param_2,0x25);
        WriteBlobByte(param_2,0xe2);
        WriteBlobByte(param_2,0xe3);
        WriteBlobByte(param_2,0xcf);
        WriteBlobByte(param_2,0xd3);
        WriteBlobByte(param_2,10);
      }
      uVar33 = TellBlob(param_2);
      *local_6200 = uVar33;
      FormatLocaleString();
      WriteBlobString(param_2,local_5020);
      WriteBlobString(param_2,"<<\n");
      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);
      if (iVar7 == 0) {
        FormatLocaleString();
        WriteBlobString(param_2,local_5020);
      }
      FormatLocaleString();
      WriteBlobString(param_2,local_5020);
      WriteBlobString(param_2,"/Type /Catalog");
      iVar7 = GetImageOption(param_1,"pdf:page-direction");
      if ((iVar7 != 0) && (iVar7 = LocaleCompare(iVar7,"right-to-left"), iVar7 == 0)) {
        WriteBlobString(param_2,"/ViewerPreferences<</PageDirection/R2L>>\n");
      }
      WriteBlobString(param_2,"\n");
      WriteBlobString(param_2,">>\n");
      WriteBlobString(param_2,"endobj\n");
      pcVar34 = (char *)local_6020;
      GetPathComponent(piVar25,5,local_6020);
      iVar7 = LocaleCompare(puVar9,&DAT_002a2413);
      if (iVar7 == 0) {
        uVar33 = TellBlob(param_2);
        local_6200[1] = uVar33;
        FormatLocaleString();
        WriteBlobString(param_2,local_5020);
        WriteBlobString(param_2,"<<\n");
        WriteBlobString(param_2,"/Subtype /XML\n");
        auStack_3020[0] = 0;
        iVar7 = GetImageProperty(param_2,"date:modify",param_3);
        if (iVar7 != 0) {
          CopyMagickString(auStack_3020,iVar7,0x1000);
        }
        auStack_4020[0] = 0;
        iVar7 = GetImageProperty(param_2,"date:create",param_3);
        if (iVar7 != 0) {
          CopyMagickString(auStack_4020,iVar7,0x1000);
        }
        uVar12 = GetMagickTime();
        pcVar34 = (char *)&uStack_2020;
        FormatMagickTime(uVar12,0x1000,&uStack_2020);
        uVar12 = FUN_00234220();
        FormatLocaleString(local_1020,0x1000,
                           "<?xpacket begin=\"%s\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:08:23\">\n   <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:xap=\"http://ns.adobe.com/xap/1.0/\">\n         <xap:ModifyDate>%s</xap:ModifyDate>\n         <xap:CreateDate>%s</xap:CreateDate>\n         <xap:MetadataDate>%s</xap:MetadataDate>\n         <xap:CreatorTool>%s</xap:CreatorTool>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n         <dc:format>application/pdf</dc:format>\n         <dc:title>\n           <rdf:Alt>\n              <rdf:li xml:lang=\"x-default\">%s</rdf:li>\n           </rdf:Alt>\n         </dc:title>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:xapMM=\"http://ns.adobe.com/xap/1.0/mm/\">\n         <xapMM:DocumentID>uuid:6ec119d7-7982-4f56-808d-dfe64f5b35cf</xapMM:DocumentID>\n         <xapMM:InstanceID>uuid:a79b99b4-6235-447f-9f6c-ec18ef7555cb</xapMM:InstanceID>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdf=\"http://ns.adobe.com/pdf/1.3/\">\n         <pdf:Producer>%s</pdf:Producer>\n      </rdf:Description>\n      <rdf:Description rdf:about=\"\"\n            xmlns:pdfaid=\"http://www.aiim.org/pdfa/ns/id/\">\n         <pdfaid:part>3</pdfaid:part>\n         <pdfaid:conformance>B</pdfaid:conformance>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>\n"
                           ,&UNK_0030624c,auStack_3020,auStack_4020,&uStack_2020,
                           "https://imagemagick.org",uVar12,"https://imagemagick.org");
        DestroyString(uVar12);
        FormatLocaleString();
        WriteBlobString(param_2,local_5020);
        WriteBlobString(param_2,"/Type /Metadata\n");
        WriteBlobString(param_2,">>\nstream\n");
        WriteBlobString(param_2,local_1020);
        iVar27 = 0x10;
        WriteBlobString(param_2,"\nendstream\n");
        iVar7 = 0x12;
        WriteBlobString(param_2,"endobj\n");
        local_61f4 = 3;
      }
      else {
        iVar7 = 0x11;
        iVar27 = 8;
        local_61f4 = 2;
      }
      uVar33 = TellBlob(param_2);
      *(undefined8 *)(iVar27 + (int)local_6200) = uVar33;
      FormatLocaleString();
      WriteBlobString(param_2,local_5020);
      WriteBlobString(param_2,"<<\n");
      WriteBlobString(param_2,"/Type /Pages\n");
      FormatLocaleString();
      WriteBlobString(param_2,local_5020);
      piVar8 = param_2;
      if (param_1[3] == 0) {
LAB_00234b1f:
        WriteBlobString(param_2,"]\n");
        FormatLocaleString();
        WriteBlobString(param_2,local_5020);
        WriteBlobString(param_2,">>\n");
        WriteBlobString(param_2,"endobj\n");
        GetImageListLength(param_2);
        pcVar19 = "stream\n";
        local_6224 = param_2;
        do {
          piVar31 = local_6224;
          iVar7 = GetImageProfile(local_6224,&DAT_002a81ca);
          local_61a4 = *param_1;
          if (*param_1 == 0) {
            local_61a4 = local_6224[2];
          }
          local_61a8 = (uint *)(local_61a4 - 7);
          local_61b8 = local_61a4;
          switch(local_61a8) {
          case (uint *)0x0:
          case (uint *)0x1:
            iVar27 = SetImageMonochrome(local_6224,param_3);
            if ((iVar27 != 0) && (local_6224[0xa5] == 0)) goto LAB_00235d0d;
            goto code_r0x00234e0c;
          default:
LAB_00235d0d:
            local_61a4 = (uint)local_61a8;
            break;
          case (uint *)0x4:
            pcVar34 = &UNK_00305907;
            goto code_r0x00234df2;
          case (uint *)0x5:
            pcVar34 = "`%s\' (JPEG)";
            ThrowMagickException();
            local_61a8 = (uint *)0xc;
            local_61b8 = 0x13;
            break;
          case (uint *)0x8:
            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);
            if (iVar27 == 0) goto code_r0x00234e0c;
            local_61a4 = 8;
            break;
          case (uint *)0x9:
            iVar27 = LocaleCompare(puVar9,&DAT_002a2413);
            if (iVar27 == 0) goto code_r0x00234e0c;
            local_61a4 = 9;
            break;
          case (uint *)0xd:
            pcVar34 = "`%s\' (ZLIB)";
code_r0x00234df2:
            ThrowMagickException();
code_r0x00234e0c:
            local_61a4 = 0xc;
            local_61b8 = 0x13;
            local_61a8 = (uint *)0xc;
          }
          local_61b4 = *(double *)(local_6224 + 0x7c);
          local_61cc = *(double *)(local_6224 + 0x7e);
          if (local_61cc == 0.0) {
LAB_00234e74:
            uVar10 = ParseGeometry("72.0x72.0",&local_6074,pcVar34);
            local_61b4 = local_6074;
            local_61cc = local_6074;
            if ((uVar10 & 8) != 0) {
              local_61cc = local_606c;
            }
          }
          else {
            bVar32 = local_61cc == 0.0;
            if (local_61b4 == 0.0) {
              bVar32 = !NAN(local_61b4);
            }
            if (bVar32) goto LAB_00234e74;
          }
          if (param_1[0x15] != 0) {
            uVar10 = ParseGeometry(param_1[0x15],&local_6074,pcVar34);
            local_61b4 = local_6074;
            local_61cc = local_6074;
            if ((uVar10 & 8) != 0) {
              local_61cc = local_606c;
            }
          }
          if (local_6224[0x77] == 2) {
            local_61b4 = (double)((float)((longlong)
                                          ROUND((float)local_61b4 * DAT_002b7d18 + DAT_0029f124) &
                                         0xffffffff) / DAT_0029f71c);
            local_61cc = (double)((float)((longlong)
                                          ROUND(DAT_002b7d18 * (float)local_61cc + DAT_0029f124) &
                                         0xffffffff) / DAT_0029f71c);
          }
          SetGeometry(local_6224,&local_60a4);
          uVar12 = (undefined4)((ulonglong)(double)(uint)local_6224[7] >> 0x20);
          FormatLocaleString();
          if (param_1[8] == 0) {
            if ((local_6224[0x80] == 0) || (local_6224[0x81] == 0)) {
              if ((local_6224[0x8e] != 0) &&
                 (iVar27 = LocaleCompare(puVar9,&DAT_002a240f,uVar12), iVar27 == 0)) {
                CopyMagickString(local_1020,"612x792",0x1000);
              }
            }
            else {
              FormatLocaleString(local_1020,0x1000,"%.20gx%.20g%+.20g%+.20g",
                                 (double)(uint)local_6224[0x80],(double)(uint)local_6224[0x81],
                                 (double)local_6224[0x82],(double)local_6224[0x83]);
            }
          }
          else {
            CopyMagickString(local_1020,param_1[8],0x1000);
          }
          ConcatenateMagickString(local_1020,&DAT_002cb6d1,0x1000);
          ParseMetaGeometry();
          fVar2 = ((float)local_60a4 * DAT_0029f120) / (float)local_61b4;
          local_60cc = (uint)(longlong)ROUND(ROUND(fVar2 + DAT_0029f124));
          local_60a4 = local_60cc;
          fVar1 = ((float)local_60a0 * DAT_0029f120) / (float)local_61cc;
          local_60a8 = CONCAT22(local_60a8._2_2_,in_FPUControlWord);
          local_604c.tm_sec =
               CONCAT22((short)((uint)local_604c.tm_sec >> 0x10),in_FPUControlWord) & 0xfffff3ff |
               0x400;
          local_60cc = (uint)(longlong)ROUND(ROUND(fVar1 + DAT_0029f124));
          local_60a0 = local_60cc;
          ParseAbsoluteGeometry(local_1020,local_6094);
          ParseGravityGeometry(local_6224,local_1020,local_6084,param_3);
          if (local_6224[0x8e] != 0) {
            local_609c = -local_607c;
            local_6098 = (local_6078 + local_6090) - local_6224[7];
          }
          local_61e4 = *(double *)(param_1 + 0x16);
          if (local_61e4 == 0.0) {
            local_61e4 = (double)DAT_002b1d90;
          }
          GetImageProperty(local_6224,"label",param_3);
          uVar33 = TellBlob(local_6224);
          local_61c4 = (ulonglong)(local_61f4 + 1);
          local_6200[local_61f4] = uVar33;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,"<<\n");
          WriteBlobString(local_6224,"/Type /Page\n");
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,"/Resources <<\n");
          piVar25 = (int *)0x0;
          iVar27 = GetImageProperty(local_6224,"label",param_3);
          if ((iVar27 != 0) && (piVar25 = (int *)StringToList(iVar27), piVar25 != (int *)0x0)) {
            uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9b80) >> 0x20);
            FormatLocaleString();
            WriteBlobString(local_6224,local_5020,uVar12);
          }
          uVar12 = (undefined4)((ulonglong)((double)local_61c4 + (double)DAT_002a9bb0) >> 0x20);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020,uVar12);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          uVar12 = (undefined4)
                   ((ulonglong)(double)(((float)local_6090 * DAT_0029f120) / (float)local_61cc) >>
                   0x20);
          dVar36 = (double)DAT_0029f120;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020,uVar12);
          uVar12 = (undefined4)((ulonglong)(((double)local_6090 * dVar36) / local_61cc) >> 0x20);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020,uVar12);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,">>\n");
          WriteBlobString(local_6224,"endobj\n");
          uVar33 = TellBlob(local_6224);
          local_6200[local_61f4 + 1] = uVar33;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,"<<\n");
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,">>\n");
          WriteBlobString(local_6224,"stream\n");
          TellBlob(local_6224);
          WriteBlobString(local_6224,&DAT_003059cb);
          if ((piVar25 != (int *)0x0) && (*piVar25 != 0)) {
            iVar27 = 0;
            do {
              WriteBlobString(local_6224,&DAT_003059ce);
              uVar12 = local_61e4._4_4_;
              FormatLocaleString();
              WriteBlobString(local_6224,local_5020,uVar12);
              local_61cc = (double)(ulonglong)(local_60a0 + local_6098);
              uVar12 = (undefined4)
                       ((ulonglong)
                        ((double)iVar27 * local_61e4 + (double)(longlong)local_61cc +
                        (double)DAT_002b1d90) >> 0x20);
              FormatLocaleString();
              WriteBlobString(local_6224,local_5020,uVar12);
              FormatLocaleString(local_5020,0x1000,"(%s) Tj\n",piVar25[iVar27]);
              WriteBlobString(local_6224,local_5020);
              WriteBlobString(local_6224,&DAT_003059fa);
              iVar11 = DestroyString(piVar25[iVar27]);
              piVar25[iVar27] = iVar11;
              iVar27 = iVar27 + 1;
            } while (piVar25[iVar27] != 0);
          }
          FormatLocaleString(local_5020,0x1000,"%g 0 0 %g %.20g %.20g cm\n",(double)fVar2,
                             (double)fVar1,(double)local_609c,(double)local_6098);
          WriteBlobString(local_6224,local_5020);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,&DAT_00305a25);
          TellBlob(local_6224);
          WriteBlobString(local_6224,"\nendstream\n");
          WriteBlobString(local_6224,"endobj\n");
          uVar33 = TellBlob(local_6224);
          local_6200[local_61f4 + 2] = uVar33;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,"endobj\n");
          uVar33 = TellBlob(local_6224);
          local_6200[local_61f4 + 3] = uVar33;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          if ((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) {
            CopyMagickString(local_5020,"[ /PDF /Text /ImageC",0x1000);
          }
          else if (local_61a4 < 2) {
            CopyMagickString(local_5020,"[ /PDF /Text /ImageB",0x1000);
          }
          else {
            CopyMagickString(local_5020,"[ /PDF /Text /ImageI",0x1000);
          }
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224," ]\n");
          WriteBlobString(local_6224,"endobj\n");
          uVar33 = TellBlob(local_6224);
          local_6200[local_61f4 + 4] = uVar33;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,"<<\n");
          if (piVar25 != (int *)0x0) {
            WriteBlobString(local_6224,"/Type /Font\n");
            WriteBlobString(local_6224,"/Subtype /Type1\n");
            FormatLocaleString();
            WriteBlobString(local_6224,local_5020);
            WriteBlobString(local_6224,"/BaseFont /Helvetica\n");
            WriteBlobString(local_6224,"/Encoding /MacRomanEncoding\n");
            RelinquishMagickMemory(piVar25);
          }
          WriteBlobString(local_6224,">>\n");
          WriteBlobString(local_6224,"endobj\n");
          uVar33 = TellBlob(local_6224);
          local_6200[local_61f4 + 5] = uVar33;
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,"<<\n");
          WriteBlobString(local_6224,"/Type /XObject\n");
          WriteBlobString(local_6224,"/Subtype /Image\n");
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          switch(local_61a8) {
          case (uint *)0x0:
          case (uint *)0x1:
            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);
            WriteBlobString(local_6224,local_5020);
            local_61cc = (double)(ulonglong)(uint)local_6224[7];
            dVar36 = (double)(longlong)local_61cc;
            FormatLocaleString();
            goto LAB_0023602b;
          default:
            pcVar34 = "RunLengthDecode";
            pcVar16 = "/Filter [ /%s ]\n";
            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n","RunLengthDecode");
            dVar36 = (double)CONCAT44(pcVar34,pcVar16);
LAB_0023602b:
            WriteBlobString(local_6224,local_5020,dVar36);
            FormatLocaleString();
            WriteBlobString(local_6224,local_5020);
            FormatLocaleString();
            WriteBlobString(local_6224,local_5020);
            FormatLocaleString();
            WriteBlobString(local_6224,local_5020);
            local_61cc._0_4_ = (-(uint)(local_61a4 < 2) & 0xfffffff9) + 8;
            goto LAB_00235dee;
          case (uint *)0x4:
            pcVar34 = "JPXDecode";
            goto code_r0x00235f5e;
          case (uint *)0x5:
            pcVar34 = "DCTDecode";
code_r0x00235f5e:
            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);
            if (local_6224[1] == 2) {
              WriteBlobString(local_6224,local_5020);
              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);
            }
            goto code_r0x00235d3f;
          case (uint *)0x8:
            pcVar34 = "LZWDecode";
            break;
          case (uint *)0x9:
            pcVar34 = "ASCII85Decode";
            break;
          case (uint *)0xd:
            pcVar34 = "FlateDecode";
          }
          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);
code_r0x00235d3f:
          WriteBlobString(local_6224,local_5020);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          local_61cc._0_4_ = 8;
LAB_00235dee:
          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);
          WriteBlobString(local_6224,local_5020);
          if (local_6224[0xa5] != 0) {
            FormatLocaleString();
            WriteBlobString(local_6224,local_5020);
          }
          FormatLocaleString();
          WriteBlobString(local_6224,local_5020);
          WriteBlobString(local_6224,">>\n");
          pcVar34 = pcVar19;
          WriteBlobString(local_6224,"stream\n");
          TellBlob(local_6224);
          uVar10 = (uint)((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6]);
          if (((ulonglong)(uint)local_6224[7] * (ulonglong)(uint)local_6224[6] & 0x3fffffff00000000)
              != 0 || uVar10 >> 0x1e != 0) {
            RelinquishMagickMemory(local_6200);
            piVar25 = local_6224 + 0xc6;
            pcVar34 = "`%s\'";
            pcVar19 = "MemoryAllocationFailed";
            ThrowMagickException();
            piVar8 = (int *)param_1[3];
            while (piVar5 = local_6224, piVar8 != (int *)0x0) {
              piVar8 = (int *)piVar5[0xccf];
              local_6224 = piVar8;
              piVar31 = piVar5;
            }
            goto LAB_00239234;
          }
          if (1 < local_61a4) {
            if ((param_1[0x6e] != 6) &&
               (pcVar34 = param_3, iVar27 = SetImageGray(local_6224,param_3), iVar27 != 0)) {
              switch(local_61a8) {
              case (uint *)0x0:
              case (uint *)0x1:
                goto LAB_00238a00;
              default:
                local_6194 = AcquireVirtualMemory(uVar10,1);
                if (local_6194 != 0) {
                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);
                  if (0 < local_6224[7]) {
                    iVar27 = 0;
                    puVar28 = puVar14;
                    do {
                      iVar11 = GetVirtualPixels();
                      if (iVar11 == 0) break;
                      puVar24 = puVar28;
                      puVar22 = puVar28;
                      if (0 < local_6224[6]) {
                        do {
                          iVar15 = local_6224[0xaa];
                          puVar22 = puVar24 + 1;
                          uVar6 = 0;
                          fVar1 = (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x20) * 8) *
                                  DAT_002b2404 +
                                  DAT_002b23fc *
                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 0x14) * 8) +
                                  DAT_002b2400 *
                                  (float)*(double *)(iVar11 + *(int *)(iVar15 + 8) * 8);
                          if (0.0 < fVar1) {
                            fVar1 = fVar1 / DAT_002a7ff0;
                            uVar6 = 0xff;
                            if (fVar1 < DAT_002a7ff4) {
                              uVar6 = (undefined1)(short)ROUND(fVar1 + DAT_0029f124);
                            }
                          }
                          *puVar24 = uVar6;
                          iVar11 = iVar11 + local_6224[0xa6] * 8;
                          puVar24 = puVar22;
                        } while ((int)puVar22 - (int)puVar28 < local_6224[6]);
                      }
                      iVar11 = local_6224[7];
                      if (local_6224[0xccf] == 0) {
                        iVar11 = SetImageProgress();
                        if (iVar11 == 0) break;
                        iVar11 = local_6224[7];
                      }
                      iVar27 = iVar27 + 1;
                      puVar28 = puVar22;
                    } while (iVar27 < iVar11);
                  }
                  goto LAB_00237039;
                }
                RelinquishMagickMemory(local_6200);
                piVar25 = local_6224 + 0xc6;
                pcVar34 = "`%s\'";
                pcVar19 = "MemoryAllocationFailed";
                ThrowMagickException();
                piVar8 = (int *)param_1[3];
                while (piVar5 = local_6224, piVar8 != (int *)0x0) {
                  piVar8 = (int *)piVar5[0xccf];
                  local_6224 = piVar8;
                  piVar31 = piVar5;
                }
                goto LAB_00239234;
              case (uint *)0x4:
LAB_00236188:
                break;
              case (uint *)0x5:
LAB_00236760:
                break;
              case (uint *)0x9:
                Ascii85Initialize(local_6224);
                if (0 < local_6224[7]) {
                  local_6224 = (int *)0x0;
                  do {
                    pcVar34 = param_3;
                    iVar27 = GetVirtualPixels();
                    if (iVar27 == 0) break;
                    if (0 < piVar31[6]) {
                      iVar11 = 0;
                      do {
                        iVar15 = piVar31[0xaa];
                        pcVar34 = (char *)0x0;
                        fVar1 = (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x20) * 8) *
                                DAT_002b2404 +
                                DAT_002b23fc *
                                (float)*(double *)(iVar27 + *(int *)(iVar15 + 0x14) * 8) +
                                DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(iVar15 + 8) * 8)
                        ;
                        if (0.0 < fVar1) {
                          fVar1 = fVar1 / DAT_002a7ff0;
                          pcVar34 = (char *)0xff;
                          if (fVar1 < DAT_002a7ff4) {
                            pcVar34 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);
                          }
                        }
                        iVar11 = iVar11 + 1;
                        Ascii85Encode(piVar31,pcVar34);
                        iVar27 = iVar27 + piVar31[0xa6] * 8;
                      } while (iVar11 < piVar31[6]);
                    }
                    iVar27 = piVar31[7];
                    if (piVar31[0xccf] == 0) {
                      pcVar34 = (char *)0x0;
                      iVar27 = SetImageProgress();
                      if (iVar27 == 0) break;
                      iVar27 = piVar31[7];
                    }
                    local_6224 = (int *)((int)local_6224 + 1);
                  } while ((int)local_6224 < iVar27);
                }
                goto LAB_002368f4;
              }
              iVar27 = InjectImageBlob();
joined_r0x002361ac:
              if (iVar27 != 0) goto LAB_002361b2;
              goto LAB_0023707e;
            }
            if (((*local_6224 == 1) || (0x100 < (uint)local_6224[9])) || (local_61b8 - 0xb < 2)) {
              if (local_61b8 == 0xc) goto LAB_00236760;
              if (local_61b8 != 0x10) {
                if (local_61b8 == 0xb) goto LAB_00236188;
                iVar27 = ((local_6224[1] == 2) + 3) * uVar10;
                local_6194 = AcquireVirtualMemory(iVar27,1);
                if (local_6194 == 0) {
                  RelinquishMagickMemory(local_6200);
                  piVar25 = local_6224 + 0xc6;
                  pcVar34 = "`%s\'";
                  pcVar19 = "MemoryAllocationFailed";
                  ThrowMagickException();
                  piVar8 = (int *)param_1[3];
                  while (piVar5 = local_6224, piVar8 != (int *)0x0) {
                    piVar8 = (int *)piVar5[0xccf];
                    local_6224 = piVar8;
                    piVar31 = piVar5;
                  }
                  goto LAB_00239234;
                }
                puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);
                if (0 < local_6224[7]) {
                  local_6224 = (int *)0x0;
                  puVar28 = puVar14;
                  do {
                    iVar11 = GetVirtualPixels();
                    if (iVar11 == 0) break;
                    if (0 < piVar31[6]) {
                      iVar15 = 0;
                      puVar24 = puVar28;
                      do {
                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 8) * 8);
                        uVar6 = 0;
                        if (0.0 < dVar36) {
                          dVar36 = dVar36 / (double)DAT_002a7ff0;
                          uVar6 = 0xff;
                          if (dVar36 < (double)DAT_002a7ff4) {
                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                          }
                        }
                        *puVar24 = uVar6;
                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x14) * 8);
                        uVar6 = 0;
                        if (0.0 < dVar36) {
                          dVar36 = dVar36 / (double)DAT_002a7ff0;
                          uVar6 = 0xff;
                          if (dVar36 < (double)DAT_002a7ff4) {
                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                          }
                        }
                        puVar24[1] = uVar6;
                        dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x20) * 8);
                        uVar6 = 0;
                        if (0.0 < dVar36) {
                          dVar36 = dVar36 / (double)DAT_002a7ff0;
                          uVar6 = 0xff;
                          if (dVar36 < (double)DAT_002a7ff4) {
                            uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                          }
                        }
                        puVar24[2] = uVar6;
                        if (piVar31[1] == 2) {
                          puVar28 = puVar24 + 4;
                          uVar6 = 0;
                          if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&
                             (dVar36 = *(double *)(iVar11 + *(int *)(piVar31[0xaa] + 0x2c) * 8),
                             0.0 < dVar36)) {
                            dVar36 = dVar36 / (double)DAT_002a7ff0;
                            uVar6 = 0xff;
                            if (dVar36 < (double)DAT_002a7ff4) {
                              uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                            }
                          }
                          puVar24[3] = uVar6;
                        }
                        else {
                          puVar28 = puVar24 + 3;
                        }
                        iVar15 = iVar15 + 1;
                        iVar11 = iVar11 + piVar31[0xa6] * 8;
                        puVar24 = puVar28;
                      } while (iVar15 < piVar31[6]);
                    }
                    iVar11 = piVar31[7];
                    if (piVar31[0xccf] == 0) {
                      iVar11 = SetImageProgress();
                      if (iVar11 == 0) break;
                      iVar11 = piVar31[7];
                    }
                    local_6224 = (int *)((int)local_6224 + 1);
                  } while ((int)local_6224 < iVar11);
                }
                if (local_61b8 == 0xf) {
                  iVar27 = LZWEncodeImage(piVar31,iVar27,puVar14,param_3);
                }
                else {
                  iVar27 = PackbitsEncodeImage(piVar31,iVar27,puVar14,param_3);
                }
                goto LAB_00237064;
              }
              Ascii85Initialize(local_6224);
              if (0 < local_6224[7]) {
                local_6224 = (int *)0x0;
                do {
                  pcVar34 = param_3;
                  iVar27 = GetVirtualPixels();
                  if (iVar27 == 0) break;
                  if (0 < piVar31[6]) {
                    iVar11 = 0;
                    do {
                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 8) * 8);
                      uVar6 = 0;
                      if (0.0 < dVar36) {
                        dVar36 = dVar36 / (double)DAT_002a7ff0;
                        uVar6 = 0xff;
                        if (dVar36 < (double)DAT_002a7ff4) {
                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                        }
                      }
                      Ascii85Encode(piVar31,uVar6);
                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x14) * 8);
                      uVar6 = 0;
                      if (0.0 < dVar36) {
                        dVar36 = dVar36 / (double)DAT_002a7ff0;
                        uVar6 = 0xff;
                        if (dVar36 < (double)DAT_002a7ff4) {
                          uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                        }
                      }
                      Ascii85Encode(piVar31,uVar6);
                      dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x20) * 8);
                      pcVar34 = (char *)0x0;
                      if (0.0 < dVar36) {
                        dVar36 = dVar36 / (double)DAT_002a7ff0;
                        pcVar34 = (char *)0xff;
                        if (dVar36 < (double)DAT_002a7ff4) {
                          pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);
                        }
                      }
                      Ascii85Encode(piVar31,pcVar34);
                      if (piVar31[1] == 2) {
                        pcVar34 = (char *)0x0;
                        if ((*(int *)(piVar31[0xaa] + 0x28) != 0) &&
                           (dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x2c) * 8),
                           0.0 < dVar36)) {
                          dVar36 = dVar36 / (double)DAT_002a7ff0;
                          pcVar34 = (char *)0xff;
                          if (dVar36 < (double)DAT_002a7ff4) {
                            pcVar34 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124
                                                                      );
                          }
                        }
                        Ascii85Encode(piVar31,pcVar34);
                      }
                      iVar11 = iVar11 + 1;
                      iVar27 = iVar27 + piVar31[0xa6] * 8;
                    } while (iVar11 < piVar31[6]);
                  }
                  iVar27 = piVar31[7];
                  if (piVar31[0xccf] == 0) {
                    pcVar34 = (char *)0x0;
                    iVar27 = SetImageProgress();
                    if (iVar27 == 0) break;
                    iVar27 = piVar31[7];
                  }
                  local_6224 = (int *)((int)local_6224 + 1);
                } while ((int)local_6224 < iVar27);
              }
            }
            else {
              if (local_61b8 != 0x10) {
                local_6194 = AcquireVirtualMemory(uVar10,1);
                if (local_6194 != 0) {
                  puVar14 = (undefined1 *)GetVirtualMemoryBlob(local_6194);
                  if (0 < local_6224[7]) {
                    local_6224 = (int *)0x0;
                    puVar28 = puVar14;
                    do {
                      iVar27 = GetVirtualPixels();
                      if (iVar27 == 0) break;
                      puVar24 = puVar28;
                      puVar22 = puVar28;
                      if (0 < piVar31[6]) {
                        do {
                          uVar6 = 0;
                          if (*(int *)(piVar31[0xaa] + 0x40) != 0) {
                            uVar6 = (undefined1)
                                    (int)ROUND(*(double *)
                                                (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8));
                          }
                          puVar22 = puVar24 + 1;
                          *puVar24 = uVar6;
                          iVar27 = iVar27 + piVar31[0xa6] * 8;
                          puVar24 = puVar22;
                        } while ((int)puVar22 - (int)puVar28 < piVar31[6]);
                      }
                      iVar27 = piVar31[7];
                      if (piVar31[0xccf] == 0) {
                        iVar27 = SetImageProgress();
                        if (iVar27 == 0) break;
                        iVar27 = piVar31[7];
                      }
                      local_6224 = (int *)((int)local_6224 + 1);
                      puVar28 = puVar22;
                    } while ((int)local_6224 < iVar27);
                  }
LAB_00237039:
                  if (local_61b8 == 0xf) {
                    iVar27 = LZWEncodeImage(piVar31,uVar10,puVar14,param_3);
                  }
                  else {
                    iVar27 = PackbitsEncodeImage(piVar31,uVar10,puVar14,param_3);
                  }
LAB_00237064:
                  RelinquishVirtualMemory(local_6194);
                  goto joined_r0x002361ac;
                }
                RelinquishMagickMemory(local_6200);
                piVar25 = local_6224 + 0xc6;
                pcVar34 = "`%s\'";
                pcVar19 = "MemoryAllocationFailed";
                ThrowMagickException();
                if (param_1[3] != 0) {
                  piVar8 = (int *)local_6224[0xccf];
                  while (piVar5 = piVar8, piVar5 != (int *)0x0) {
                    piVar31 = piVar5;
                    piVar8 = (int *)piVar5[0xccf];
                  }
                }
                goto LAB_00239234;
              }
              Ascii85Initialize(local_6224);
              if (0 < local_6224[7]) {
                local_6224 = (int *)0x0;
                do {
                  pcVar34 = param_3;
                  iVar27 = GetVirtualPixels();
                  if (iVar27 == 0) break;
                  if (0 < piVar31[6]) {
                    iVar11 = 0;
                    do {
                      pcVar34 = (char *)0x0;
                      if (*(int *)(piVar31[0xaa] + 0x40) != 0) {
                        pcVar34 = (char *)((int)ROUND(*(double *)
                                                       (iVar27 + *(int *)(piVar31[0xaa] + 0x44) * 8)
                                                     ) & 0xff);
                      }
                      iVar11 = iVar11 + 1;
                      Ascii85Encode(piVar31,pcVar34);
                      iVar27 = iVar27 + piVar31[0xa6] * 8;
                    } while (iVar11 < piVar31[6]);
                  }
                  iVar27 = piVar31[7];
                  if (piVar31[0xccf] == 0) {
                    pcVar34 = (char *)0x0;
                    iVar27 = SetImageProgress();
                    if (iVar27 == 0) break;
                    iVar27 = piVar31[7];
                  }
                  local_6224 = (int *)((int)local_6224 + 1);
                } while ((int)local_6224 < iVar27);
              }
            }
LAB_002368f4:
            Ascii85Flush(piVar31,pcVar34);
            goto LAB_002361b2;
          }
LAB_00238a00:
          iVar27 = LocaleCompare("0","0");
          if (iVar27 == 0) {
            HuffmanEncodeImage(param_1,local_6224,local_6224,param_3);
          }
          else {
            FUN_00233f80(param_3);
          }
LAB_002361b2:
          TellBlob(piVar31);
          WriteBlobString(piVar31,"\nendstream\n");
          WriteBlobString(piVar31,"endobj\n");
          uVar33 = TellBlob(piVar31);
          local_6200[local_61f4 + 6] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"endobj\n");
          uVar10 = local_61f4 + 8;
          uVar33 = TellBlob(piVar31);
          local_6200[local_61f4 + 7] = uVar33;
          local_61c4 = (ulonglong)uVar10;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          local_620c = "endobj\n";
          if (piVar31[1] == 2) {
            if (iVar7 != 0) {
              pcVar34 = "DeviceCMYK";
              goto LAB_0023814a;
            }
            pcVar34 = "DeviceCMYK";
LAB_0023632d:
            puVar35 = &UNK_00305bee;
            FormatLocaleString(local_5020,0x1000,&UNK_00305bee,pcVar34);
            dVar36 = (double)CONCAT44(pcVar34,puVar35);
LAB_00236346:
            WriteBlobString(piVar31,local_5020,dVar36);
          }
          else {
            if ((local_61a4 < 2) ||
               ((param_1[0x6e] != 6 && (iVar27 = SetImageGray(piVar31,param_3), iVar27 != 0)))) {
              pcVar34 = "DeviceGray";
              if (iVar7 == 0) goto LAB_0023632d;
              pcVar34 = "DeviceGray";
            }
            else if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61b8 - 0xb < 2)) {
              pcVar34 = "DeviceRGB";
              if (iVar7 == 0) goto LAB_0023632d;
            }
            else {
              if (iVar7 == 0) {
                dVar36 = (double)local_61c4 + (double)DAT_002a9b78;
                FormatLocaleString();
                goto LAB_00236346;
              }
              pcVar34 = "DeviceRGB";
            }
LAB_0023814a:
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            WriteBlobString(piVar31,"endobj\n");
            uVar33 = TellBlob(piVar31);
            local_6200[local_61f4 + 8] = uVar33;
            local_61e4 = (double)(ulonglong)(local_61f4 + 9);
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            uVar12 = (undefined4)((ulonglong)((double)(longlong)local_61e4 + 1.0) >> 0x20);
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020,uVar12,pcVar34);
            TellBlob(piVar31);
            Ascii85Initialize(piVar31);
            iVar27 = GetStringInfoDatum(iVar7);
            for (iVar11 = 0; iVar15 = GetStringInfoLength(iVar7), iVar11 < iVar15;
                iVar11 = iVar11 + 1) {
              Ascii85Encode(piVar31,*(undefined1 *)(iVar27 + iVar11));
            }
            Ascii85Flush(piVar31);
            TellBlob(piVar31);
            WriteBlobString(piVar31,"endstream\n");
            WriteBlobString(piVar31,"endobj\n");
            uVar10 = local_61f4 + 10;
            uVar33 = TellBlob(piVar31);
            local_6200[local_61f4 + 9] = uVar33;
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            dVar36 = (double)CONCAT44(pcVar34,uVar12);
          }
          WriteBlobString(piVar31,"endobj\n",dVar36);
          SetGeometry(piVar31,&local_60a4);
          ParseMetaGeometry();
          uVar12 = GetImageOption(param_1,"pdf:thumbnail");
          iVar7 = IsStringTrue(uVar12);
          if (iVar7 == 0) {
            ParseMetaGeometry();
          }
          puVar13 = (uint *)ThumbnailImage(piVar31,local_60a4,local_60a0,param_3);
          if (puVar13 == (uint *)0x0) goto LAB_002345f8;
          uVar33 = TellBlob(piVar31);
          local_6200[uVar10] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"<<\n");
          switch(local_61a8) {
          case (uint *)0x0:
          case (uint *)0x1:
            CopyMagickString(local_5020,"/Filter [ /CCITTFaxDecode ]\n",0x1000);
            WriteBlobString(piVar31,local_5020);
            local_61c4 = (ulonglong)puVar13[7];
            dVar36 = (double)local_61c4;
            FormatLocaleString();
            goto code_r0x0023649f;
          default:
            pcVar34 = "RunLengthDecode";
            break;
          case (uint *)0x4:
            pcVar34 = "JPXDecode";
            goto code_r0x00236676;
          case (uint *)0x5:
            pcVar34 = "DCTDecode";
code_r0x00236676:
            pcVar16 = "/Filter [ /%s ]\n";
            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);
            dVar36 = (double)CONCAT44(pcVar34,pcVar16);
            if (puVar13[1] == 2) {
              WriteBlobString(piVar31,local_5020);
              uVar12 = 0x1000;
              CopyMagickString(local_5020,"/Decode [1 0 1 0 1 0 1 0]\n",0x1000);
              dVar36 = (double)CONCAT44(pcVar34,uVar12);
            }
            goto code_r0x0023649f;
          case (uint *)0x8:
            pcVar34 = "LZWDecode";
            break;
          case (uint *)0x9:
            pcVar34 = "ASCII85Decode";
            break;
          case (uint *)0xd:
            pcVar34 = "FlateDecode";
          }
          pcVar16 = "/Filter [ /%s ]\n";
          FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);
          dVar36 = (double)CONCAT44(pcVar34,pcVar16);
code_r0x0023649f:
          WriteBlobString(piVar31,local_5020,dVar36);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          pcVar34 = "/BitsPerComponent %d\n";
          FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,">>\n");
          pcVar16 = pcVar19;
          WriteBlobString(piVar31,"stream\n");
          TellBlob(piVar31);
          if (local_61a4 < 2) {
LAB_00238a40:
            iVar7 = LocaleCompare("0","0");
            if (iVar7 == 0) {
              pcVar34 = (char *)puVar13;
              HuffmanEncodeImage(param_1,piVar31,puVar13,param_3);
            }
            else {
              FUN_00233f80(param_3);
            }
            goto LAB_00236939;
          }
          iVar7 = puVar13[7] * puVar13[6];
          if ((param_1[0x6e] == 6) ||
             (pcVar16 = param_3, iVar27 = SetImageGray(puVar13,param_3), iVar27 == 0)) {
            if ((*puVar13 != 1) && ((puVar13[9] < 0x101 && (1 < local_61b8 - 0xb)))) {
              if (local_61b8 == 0x10) {
                Ascii85Initialize(piVar31);
                if (0 < (int)puVar13[7]) {
                  local_61dc = 0;
                  do {
                    pcVar16 = param_3;
                    iVar7 = GetVirtualPixels();
                    if (iVar7 == 0) break;
                    if (0 < (int)puVar13[6]) {
                      iVar27 = 0;
                      do {
                        pcVar16 = (char *)0x0;
                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {
                          pcVar16 = (char *)((int)ROUND(*(double *)
                                                         (iVar7 + *(int *)(puVar13[0xaa] + 0x44) * 8
                                                         )) & 0xff);
                        }
                        iVar27 = iVar27 + 1;
                        Ascii85Encode(piVar31,pcVar16);
                        iVar7 = iVar7 + piVar31[0xa6] * 8;
                      } while (iVar27 < (int)puVar13[6]);
                    }
                    local_61dc = local_61dc + 1;
                  } while (local_61dc < (int)puVar13[7]);
                }
                goto LAB_00236e87;
              }
              local_61dc = AcquireVirtualMemory(iVar7,1);
              if (local_61dc != 0) {
                local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);
                if (0 < (int)puVar13[7]) {
                  iVar27 = 0;
                  puVar29 = local_61a8;
                  do {
                    iVar11 = GetVirtualPixels();
                    if (iVar11 == 0) break;
                    puVar20 = puVar29;
                    puVar23 = puVar29;
                    if (0 < (int)puVar13[6]) {
                      do {
                        cVar21 = '\0';
                        if (*(int *)(puVar13[0xaa] + 0x40) != 0) {
                          cVar21 = (char)(int)ROUND(*(double *)
                                                     (iVar11 + *(int *)(puVar13[0xaa] + 0x44) * 8));
                        }
                        puVar23 = (uint *)((int)puVar20 + 1);
                        *(char *)puVar20 = cVar21;
                        iVar11 = iVar11 + puVar13[0xa6] * 8;
                        puVar20 = puVar23;
                      } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);
                    }
                    iVar27 = iVar27 + 1;
                    puVar29 = puVar23;
                  } while (iVar27 < (int)puVar13[7]);
                }
                goto LAB_0023720b;
              }
              DestroyImage(puVar13);
              RelinquishMagickMemory(local_6200);
              piVar25 = piVar31 + 0xc6;
              pcVar34 = "`%s\'";
              pcVar19 = "MemoryAllocationFailed";
              ThrowMagickException();
              if (param_1[3] != 0) {
                piVar8 = (int *)piVar31[0xccf];
                while (piVar5 = piVar8, piVar5 != (int *)0x0) {
                  piVar31 = piVar5;
                  piVar8 = (int *)piVar5[0xccf];
                }
              }
              goto LAB_00239234;
            }
            if (local_61b8 == 0xc) goto LAB_00236910;
            if (local_61b8 == 0x10) {
              Ascii85Initialize(piVar31);
              if ((int)puVar13[7] < 1) goto LAB_00236e87;
              iVar7 = 0;
              do {
                pcVar16 = param_3;
                iVar27 = GetVirtualPixels();
                if (iVar27 == 0) break;
                if (0 < (int)puVar13[6]) {
                  local_6224 = (int *)0x0;
                  do {
                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 8) * 8);
                    uVar6 = 0;
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      uVar6 = 0xff;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    Ascii85Encode(piVar31,uVar6);
                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x14) * 8);
                    uVar6 = 0;
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      uVar6 = 0xff;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    Ascii85Encode(piVar31,uVar6);
                    dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x20) * 8);
                    pcVar16 = (char *)0x0;
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      pcVar16 = (char *)0xff;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    Ascii85Encode(piVar31,pcVar16);
                    if (piVar31[1] == 2) {
                      pcVar16 = (char *)0x0;
                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&
                         (dVar36 = *(double *)(iVar27 + *(int *)(puVar13[0xaa] + 0x2c) * 8),
                         0.0 < dVar36)) {
                        dVar36 = dVar36 / (double)DAT_002a7ff0;
                        pcVar16 = (char *)0xff;
                        if (dVar36 < (double)DAT_002a7ff4) {
                          pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124);
                        }
                      }
                      Ascii85Encode(piVar31,pcVar16);
                    }
                    local_6224 = (int *)((int)local_6224 + 1);
                    iVar27 = iVar27 + puVar13[0xa6] * 8;
                  } while ((int)local_6224 < (int)puVar13[6]);
                }
                iVar7 = iVar7 + 1;
              } while (iVar7 < (int)puVar13[7]);
              Ascii85Flush(piVar31,pcVar16);
              goto LAB_00236939;
            }
            if (local_61b8 == 0xb) goto LAB_00236d20;
            iVar7 = iVar7 * ((puVar13[1] == 2) + 3);
            iVar27 = AcquireVirtualMemory(iVar7,4);
            if (iVar27 == 0) {
              DestroyImage(puVar13);
              RelinquishMagickMemory(local_6200);
              piVar25 = piVar31 + 0xc6;
              pcVar34 = "`%s\'";
              pcVar19 = "MemoryAllocationFailed";
              ThrowMagickException();
              piVar8 = (int *)param_1[3];
              piVar5 = piVar31;
              while (piVar3 = piVar5, piVar8 != (int *)0x0) {
                piVar8 = (int *)piVar3[0xccf];
                piVar5 = piVar8;
                piVar31 = piVar3;
              }
              goto LAB_00239234;
            }
            pcVar34 = (char *)GetVirtualMemoryBlob(iVar27);
            if (0 < (int)puVar13[7]) {
              iVar11 = 0;
              puVar29 = (uint *)pcVar34;
              do {
                iVar15 = GetVirtualPixels();
                if (iVar15 == 0) break;
                if (0 < (int)puVar13[6]) {
                  iVar30 = 0;
                  puVar20 = puVar29;
                  do {
                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 8) * 8);
                    cVar21 = '\0';
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      cVar21 = -1;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    *(char *)puVar20 = cVar21;
                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x14) * 8);
                    cVar21 = '\0';
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      cVar21 = -1;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    *(char *)((int)puVar20 + 1) = cVar21;
                    dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x20) * 8);
                    cVar21 = '\0';
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      cVar21 = -1;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    *(char *)((int)puVar20 + 2) = cVar21;
                    if (puVar13[1] == 2) {
                      puVar29 = puVar20 + 1;
                      cVar21 = '\0';
                      if ((*(int *)(puVar13[0xaa] + 0x28) != 0) &&
                         (dVar36 = *(double *)(iVar15 + *(int *)(puVar13[0xaa] + 0x2c) * 8),
                         0.0 < dVar36)) {
                        dVar36 = dVar36 / (double)DAT_002a7ff0;
                        cVar21 = -1;
                        if (dVar36 < (double)DAT_002a7ff4) {
                          cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);
                        }
                      }
                      *(char *)((int)puVar20 + 3) = cVar21;
                    }
                    else {
                      puVar29 = (uint *)((int)puVar20 + 3);
                    }
                    iVar30 = iVar30 + 1;
                    iVar15 = iVar15 + puVar13[0xa6] * 8;
                    puVar20 = puVar29;
                  } while (iVar30 < (int)puVar13[6]);
                }
                iVar11 = iVar11 + 1;
              } while (iVar11 < (int)puVar13[7]);
            }
            if (local_61b8 == 0xf) {
              iVar7 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);
            }
            else {
              iVar7 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);
            }
            RelinquishVirtualMemory(iVar27);
            if (iVar7 != 0) goto LAB_00236939;
            iVar27 = 0;
LAB_0023707e:
            RelinquishMagickMemory(local_6200);
            CloseBlob(piVar31);
            goto LAB_002345fa;
          }
          switch(local_61a8) {
          case (uint *)0x0:
          case (uint *)0x1:
            goto LAB_00238a40;
          default:
            local_61dc = AcquireVirtualMemory(iVar7,1);
            if (local_61dc != 0) {
              local_61a8 = (uint *)GetVirtualMemoryBlob(local_61dc);
              if (0 < (int)puVar13[7]) {
                iVar27 = 0;
                puVar29 = local_61a8;
                do {
                  iVar11 = GetVirtualPixels();
                  if (iVar11 == 0) break;
                  puVar20 = puVar29;
                  puVar23 = puVar29;
                  if (0 < (int)puVar13[6]) {
                    do {
                      uVar18 = puVar13[0xaa];
                      puVar23 = (uint *)((int)puVar20 + 1);
                      cVar21 = '\0';
                      fVar1 = (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x20) * 8) *
                              DAT_002b2404 +
                              DAT_002b23fc *
                              (float)*(double *)(iVar11 + *(int *)(uVar18 + 0x14) * 8) +
                              DAT_002b2400 * (float)*(double *)(iVar11 + *(int *)(uVar18 + 8) * 8);
                      if (0.0 < fVar1) {
                        fVar1 = fVar1 / DAT_002a7ff0;
                        cVar21 = -1;
                        if (fVar1 < DAT_002a7ff4) {
                          cVar21 = (char)(short)ROUND(fVar1 + DAT_0029f124);
                        }
                      }
                      *(char *)puVar20 = cVar21;
                      iVar11 = iVar11 + puVar13[0xa6] * 8;
                      puVar20 = puVar23;
                    } while ((int)puVar23 - (int)puVar29 < (int)puVar13[6]);
                  }
                  iVar27 = iVar27 + 1;
                  puVar29 = puVar23;
                } while (iVar27 < (int)puVar13[7]);
              }
LAB_0023720b:
              if (local_61b8 == 0xf) {
                iVar7 = LZWEncodeImage(piVar31,iVar7,local_61a8,param_3);
                pcVar34 = (char *)local_61a8;
              }
              else {
                iVar7 = PackbitsEncodeImage(piVar31,iVar7,local_61a8,param_3);
                pcVar34 = (char *)local_61a8;
              }
              RelinquishVirtualMemory(local_61dc);
              if (iVar7 == 0) {
                iVar27 = 0;
                goto LAB_0023707e;
              }
              goto LAB_00236939;
            }
            DestroyImage(puVar13);
            RelinquishMagickMemory(local_6200);
            piVar25 = piVar31 + 0xc6;
            pcVar34 = "`%s\'";
            pcVar19 = "MemoryAllocationFailed";
            ThrowMagickException();
            piVar8 = (int *)param_1[3];
            piVar5 = piVar31;
            while (piVar3 = piVar5, piVar8 != (int *)0x0) {
              piVar8 = (int *)piVar3[0xccf];
              piVar5 = piVar8;
              piVar31 = piVar3;
            }
            goto LAB_00239234;
          case (uint *)0x4:
LAB_00236d20:
            break;
          case (uint *)0x5:
LAB_00236910:
            break;
          case (uint *)0x9:
            Ascii85Initialize(piVar31);
            if (0 < (int)puVar13[7]) {
              iVar7 = 0;
              do {
                pcVar16 = param_3;
                iVar27 = GetVirtualPixels();
                if (iVar27 == 0) break;
                if (0 < (int)puVar13[6]) {
                  iVar11 = 0;
                  do {
                    uVar18 = puVar13[0xaa];
                    pcVar16 = (char *)0x0;
                    fVar1 = (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x20) * 8) * DAT_002b2404
                            + DAT_002b23fc *
                              (float)*(double *)(iVar27 + *(int *)(uVar18 + 0x14) * 8) +
                              DAT_002b2400 * (float)*(double *)(iVar27 + *(int *)(uVar18 + 8) * 8);
                    if (0.0 < fVar1) {
                      fVar1 = fVar1 / DAT_002a7ff0;
                      pcVar16 = (char *)0xff;
                      if (fVar1 < DAT_002a7ff4) {
                        pcVar16 = (char *)(uint)(byte)(short)ROUND(fVar1 + DAT_0029f124);
                      }
                    }
                    iVar11 = iVar11 + 1;
                    Ascii85Encode(piVar31,pcVar16);
                    iVar27 = iVar27 + puVar13[0xa6] * 8;
                  } while (iVar11 < (int)puVar13[6]);
                }
                iVar7 = iVar7 + 1;
              } while (iVar7 < (int)puVar13[7]);
            }
LAB_00236e87:
            Ascii85Flush(piVar31,pcVar16);
            goto LAB_00236939;
          }
          iVar27 = InjectImageBlob();
          if (iVar27 == 0) goto LAB_0023707e;
LAB_00236939:
          DestroyImage(puVar13);
          TellBlob(piVar31);
          WriteBlobString(piVar31,"\nendstream\n");
          WriteBlobString(piVar31,"endobj\n");
          uVar33 = TellBlob(piVar31);
          local_6200[uVar10 + 1] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"endobj\n");
          uVar33 = TellBlob(piVar31);
          local_6200[uVar10 + 2] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"<<\n");
          if (((*piVar31 == 1) || (0x100 < (uint)piVar31[9])) || (local_61a4 < 2)) {
            WriteBlobString(piVar31,">>\n");
          }
          else {
            if (local_61b8 == 0x10) {
              WriteBlobString(piVar31,"/Filter [ /ASCII85Decode ]\n");
              FormatLocaleString();
              WriteBlobString(piVar31,local_5020);
              WriteBlobString(piVar31,">>\n");
              WriteBlobString(piVar31,"stream\n");
              TellBlob(piVar31);
              Ascii85Initialize(piVar31);
              if (0 < piVar31[9]) goto LAB_002384f8;
LAB_00239b55:
              Ascii85Flush(piVar31);
            }
            else {
              FormatLocaleString();
              WriteBlobString(piVar31,local_5020);
              WriteBlobString(piVar31,">>\n");
              WriteBlobString(piVar31,"stream\n");
              TellBlob(piVar31);
              if (0 < piVar31[9]) {
LAB_002384f8:
                iVar27 = 0;
                iVar7 = 0;
                do {
                  while( true ) {
                    fVar1 = (float)*(double *)(piVar31[10] + 0x20 + iVar27);
                    uVar6 = 0;
                    if (local_61b8 != 0x10) break;
                    if (0.0 < fVar1) {
                      uVar6 = 0xff;
                      if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {
                        uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);
                      }
                    }
                    Ascii85Encode(piVar31,uVar6);
                    dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);
                    uVar6 = 0;
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      uVar6 = 0xff;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    Ascii85Encode(piVar31,uVar6);
                    dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);
                    uVar6 = 0;
                    if (0.0 < dVar36) {
                      dVar36 = dVar36 / (double)DAT_002a7ff0;
                      uVar6 = 0xff;
                      if (dVar36 < (double)DAT_002a7ff4) {
                        uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                      }
                    }
                    iVar7 = iVar7 + 1;
                    iVar27 = iVar27 + 0x50;
                    Ascii85Encode(piVar31,uVar6);
                    if (piVar31[9] <= iVar7) goto LAB_00238890;
                  }
                  if (0.0 < fVar1) {
                    uVar6 = 0xff;
                    if (fVar1 / DAT_002a7ff0 < DAT_002a7ff4) {
                      uVar6 = (undefined1)(short)ROUND(fVar1 / DAT_002a7ff0 + DAT_0029f124);
                    }
                  }
                  WriteBlobByte(piVar31,uVar6);
                  dVar36 = *(double *)(piVar31[10] + 0x28 + iVar27);
                  uVar6 = 0;
                  if (0.0 < dVar36) {
                    dVar36 = dVar36 / (double)DAT_002a7ff0;
                    uVar6 = 0xff;
                    if (dVar36 < (double)DAT_002a7ff4) {
                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                    }
                  }
                  WriteBlobByte(piVar31,uVar6);
                  dVar36 = *(double *)(piVar31[10] + 0x30 + iVar27);
                  uVar6 = 0;
                  if (0.0 < dVar36) {
                    dVar36 = dVar36 / (double)DAT_002a7ff0;
                    uVar6 = 0xff;
                    if (dVar36 < (double)DAT_002a7ff4) {
                      uVar6 = (undefined1)(short)ROUND(dVar36 + (double)DAT_0029f124);
                    }
                  }
                  iVar7 = iVar7 + 1;
                  iVar27 = iVar27 + 0x50;
                  WriteBlobByte(piVar31,uVar6);
                } while (iVar7 < piVar31[9]);
              }
LAB_00238890:
              if (local_61b8 == 0x10) goto LAB_00239b55;
            }
            TellBlob(piVar31);
            WriteBlobString(piVar31,"\nendstream\n");
          }
          WriteBlobString(piVar31,"endobj\n");
          uVar33 = TellBlob(piVar31);
          local_6200[uVar10 + 3] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"endobj\n");
          uVar33 = TellBlob(piVar31);
          local_6200[uVar10 + 4] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"<<\n");
          if (piVar31[0xa5] != 0) {
            WriteBlobString(piVar31,"/Type /XObject\n");
            WriteBlobString(piVar31,"/Subtype /Image\n");
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            if (local_61b8 == 0x10) {
              pcVar34 = "ASCII85Decode";
            }
            else if (local_61b8 == 0x14) {
              pcVar34 = "FlateDecode";
            }
            else if (local_61b8 == 0xf) {
              pcVar34 = "LZWDecode";
            }
            else {
              pcVar34 = "RunLengthDecode";
            }
            FormatLocaleString(local_5020,0x1000,"/Filter [ /%s ]\n",pcVar34);
            WriteBlobString(piVar31,local_5020);
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            WriteBlobString(piVar31,"/ColorSpace /DeviceGray\n");
            pcVar34 = "/BitsPerComponent %d\n";
            FormatLocaleString(local_5020,0x1000,"/BitsPerComponent %d\n",local_61cc._0_4_);
            WriteBlobString(piVar31,local_5020);
            FormatLocaleString();
            WriteBlobString(piVar31,local_5020);
            WriteBlobString(piVar31,">>\n");
            pcVar16 = pcVar19;
            WriteBlobString(piVar31,"stream\n");
            TellBlob(piVar31);
            if (local_61b8 == 0x10) {
              Ascii85Initialize(piVar31);
              if (0 < piVar31[7]) {
                local_6224 = (int *)0x0;
                do {
                  pcVar16 = param_3;
                  iVar7 = GetVirtualPixels();
                  if (iVar7 == 0) break;
                  if (0 < piVar31[6]) {
                    iVar27 = 0;
                    do {
                      pcVar16 = (char *)0xff;
                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {
                        dVar36 = *(double *)(iVar7 + *(int *)(piVar31[0xaa] + 0x38) * 8);
                        pcVar16 = (char *)0x0;
                        if (0.0 < dVar36) {
                          dVar36 = dVar36 / (double)DAT_002a7ff0;
                          if ((double)DAT_002a7ff4 <= dVar36) {
                            pcVar16 = (char *)0xff;
                          }
                          else {
                            pcVar16 = (char *)(uint)(byte)(short)ROUND(dVar36 + (double)DAT_0029f124
                                                                      );
                          }
                        }
                      }
                      iVar27 = iVar27 + 1;
                      Ascii85Encode(piVar31,pcVar16);
                      iVar7 = iVar7 + piVar31[0xa6] * 8;
                    } while (iVar27 < piVar31[6]);
                  }
                  local_6224 = (int *)((int)local_6224 + 1);
                } while ((int)local_6224 < piVar31[7]);
              }
              Ascii85Flush(piVar31,pcVar16);
LAB_00237731:
              TellBlob(piVar31);
              WriteBlobString(piVar31,"\nendstream\n");
              goto LAB_00236be1;
            }
            iVar7 = piVar31[7] * piVar31[6];
            iVar11 = AcquireVirtualMemory(iVar7,4);
            if (iVar11 != 0) {
              pcVar34 = (char *)GetVirtualMemoryBlob(iVar11);
              if (0 < piVar31[7]) {
                local_6224 = (int *)0x0;
                puVar13 = (uint *)pcVar34;
                do {
                  iVar27 = GetVirtualPixels();
                  if (iVar27 == 0) break;
                  puVar29 = puVar13;
                  puVar20 = puVar13;
                  if (0 < piVar31[6]) {
                    do {
                      puVar20 = (uint *)((int)puVar29 + 1);
                      cVar21 = -1;
                      if (*(int *)(piVar31[0xaa] + 0x34) != 0) {
                        dVar36 = *(double *)(iVar27 + *(int *)(piVar31[0xaa] + 0x38) * 8);
                        cVar21 = '\0';
                        if (0.0 < dVar36) {
                          dVar36 = dVar36 / (double)DAT_002a7ff0;
                          if ((double)DAT_002a7ff4 <= dVar36) {
                            cVar21 = -1;
                          }
                          else {
                            cVar21 = (char)(short)ROUND(dVar36 + (double)DAT_0029f124);
                          }
                        }
                      }
                      *(char *)puVar29 = cVar21;
                      iVar27 = iVar27 + piVar31[0xa6] * 8;
                      puVar29 = puVar20;
                    } while ((int)puVar20 - (int)puVar13 < piVar31[6]);
                  }
                  local_6224 = (int *)((int)local_6224 + 1);
                  puVar13 = puVar20;
                } while ((int)local_6224 < piVar31[7]);
              }
              if (local_61b8 == 0xf) {
                iVar27 = LZWEncodeImage(piVar31,iVar7,pcVar34,param_3);
              }
              else {
                iVar27 = PackbitsEncodeImage(piVar31,iVar7,pcVar34,param_3);
              }
              RelinquishVirtualMemory(iVar11);
              if (iVar27 == 0) goto LAB_0023707e;
              goto LAB_00237731;
            }
            uVar17 = DestroyImage(piVar31);
            RelinquishMagickMemory(local_6200);
            iVar7 = uVar17 + 0x318;
            pcVar34 = "`%s\'";
            pcVar19 = "MemoryAllocationFailed";
            ThrowMagickException();
            uVar10 = param_1[3];
            uVar18 = uVar17;
            while (uVar4 = uVar17, uVar10 != 0) {
              uVar10 = *(uint *)(uVar4 + 0x333c);
              uVar17 = uVar10;
              uVar18 = uVar4;
            }
            CloseBlob(uVar18,pcVar19,pcVar34,iVar7);
            goto LAB_002345f8;
          }
          WriteBlobString(piVar31,">>\n");
LAB_00236be1:
          WriteBlobString(piVar31,"endobj\n");
          local_61f4 = uVar10 + 6;
          uVar33 = TellBlob(piVar31);
          local_6200[uVar10 + 5] = uVar33;
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          FormatLocaleString();
          WriteBlobString(piVar31,local_5020);
          WriteBlobString(piVar31,"endobj\n");
          iVar7 = GetNextImageInList(piVar31);
          local_6224 = piVar31;
          if (iVar7 == 0) goto LAB_00239247;
          local_6224 = (int *)SyncNextImageInList(piVar31);
          local_620c = (char *)0x0;
          iVar7 = SetImageProgress();
          if ((iVar7 == 0) || (param_1[3] == 0)) goto LAB_00239247;
        } while( true );
      }
      while (iVar27 = GetNextImageInList(piVar8), iVar27 != 0) {
        iVar27 = GetImageProfile(piVar8,&DAT_002a81ca);
        if (iVar27 != 0) {
          iVar7 = iVar7 + 2;
        }
        iVar7 = iVar7 + 0xe;
        FormatLocaleString();
        WriteBlobString(param_2,local_5020);
        piVar8 = (int *)GetNextImageInList(piVar8);
      }
      pcVar34 = (char *)0x8;
      local_6200 = (undefined8 *)ResizeQuantumMemory(local_6200,iVar7 + 0x800,8);
      if (local_6200 != (undefined8 *)0x0) goto LAB_00234b1f;
      pcVar34 = "`%s\'";
      pcVar19 = "MemoryAllocationFailed";
      ThrowMagickException();
      piVar8 = (int *)param_1[3];
      while (piVar5 = param_2, piVar8 != (int *)0x0) {
        piVar8 = (int *)piVar5[0xccf];
        param_2 = piVar8;
        piVar31 = piVar5;
      }
    }
LAB_00239234:
    iVar27 = 0;
    CloseBlob(piVar31,pcVar19,pcVar34,piVar25);
  }
  goto LAB_002345fa;
LAB_00239247:
  uVar33 = TellBlob(local_6224,local_620c);
  local_6200[local_61f4] = uVar33;
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  WriteBlobString(local_6224,"<<\n");
  iVar7 = LocaleCompare(puVar9,&DAT_002a2413);
  if (iVar7 == 0) {
    uVar12 = FUN_00234220();
    FormatLocaleString(local_5020,0x1000,"/Title (%s)\n",uVar12);
    DestroyString(uVar12);
  }
  else {
    iVar7 = FUN_00234080();
    puVar13 = local_6020;
    if (iVar7 == 0) {
      do {
        puVar29 = puVar13;
        uVar17 = *puVar29 + 0xfefefeff & ~*puVar29;
        uVar18 = uVar17 & 0x80808080;
        puVar13 = puVar29 + 1;
      } while (uVar18 == 0);
      bVar32 = (uVar17 & 0x8080) == 0;
      if (bVar32) {
        uVar18 = uVar18 >> 0x10;
      }
      if (bVar32) {
        puVar13 = (uint *)((int)puVar29 + 6);
      }
      pcVar34 = (char *)((int)puVar13 +
                        ((-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)) - (int)local_6020));
      puVar13 = (uint *)AcquireQuantumMemory(pcVar34 + 1,4);
      pcVar19 = (char *)0x0;
      if (puVar13 != (uint *)0x0) {
        do {
          puVar13[(int)pcVar19] = (uint)*(byte *)((int)local_6020 + (int)pcVar19);
          pcVar19 = pcVar19 + 1;
        } while (pcVar34 + 1 != pcVar19);
LAB_00239c56:
        uStack_2020 = 0x33323130;
        uStack_201c = 0x37363534;
        uStack_2018 = 0x42413938;
        uStack_2014 = 0x46454443;
        FormatLocaleString(local_5020,0x1000,"/Title <");
        WriteBlobString(local_6224,local_5020);
        if (0 < (int)pcVar34) {
          puVar29 = puVar13;
          do {
            puVar20 = puVar29 + 1;
            WriteBlobByte(local_6224,0x30);
            WriteBlobByte(local_6224,0x30);
            WriteBlobByte(local_6224,
                          *(undefined1 *)((int)&uStack_2020 + ((int)*puVar29 >> 4 & 0xfU)));
            WriteBlobByte(local_6224,*(undefined1 *)((int)&uStack_2020 + (*puVar29 & 0xf)));
            puVar29 = puVar20;
          } while (puVar20 != puVar13 + (int)pcVar34);
        }
        FormatLocaleString(local_5020,0x1000,">\n");
        RelinquishMagickMemory(puVar13);
      }
    }
    else {
      puVar13 = (uint *)AcquireQuantumMemory(iVar7 + 1,4);
      if (puVar13 != (uint *)0x0) {
        pcVar34 = (char *)FUN_00234080();
        goto LAB_00239c56;
      }
    }
  }
  WriteBlobString(local_6224,local_5020);
  local_60a8 = GetMagickTime();
  gmtime_r(&local_60a8,&local_604c);
  FormatLocaleString(&uStack_2020,0x1000,&UNK_00305c80,local_604c.tm_year + 0x76c,
                     local_604c.tm_mon + 1,local_604c.tm_mday,local_604c.tm_hour,local_604c.tm_min,
                     local_604c.tm_sec);
  FormatLocaleString(local_5020,0x1000,"/CreationDate (%s)\n",&uStack_2020);
  WriteBlobString(local_6224,local_5020);
  FormatLocaleString(local_5020,0x1000,"/ModDate (%s)\n",&uStack_2020);
  WriteBlobString(local_6224,local_5020);
  uVar12 = FUN_00234220();
  FormatLocaleString(local_5020,0x1000,"/Producer (%s)\n",uVar12);
  DestroyString(uVar12);
  WriteBlobString(local_6224,local_5020);
  WriteBlobString(local_6224,">>\n");
  WriteBlobString(local_6224,"endobj\n");
  TellBlob(local_6224);
  LocaleCompare(puVar9,&DAT_002a2413);
  WriteBlobString(local_6224,"xref\n");
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  WriteBlobString(local_6224,"0000000000 65535 f \n");
  if (0 < (int)(uVar10 + 7)) {
    puVar26 = local_6200;
    do {
      uVar12 = *(undefined4 *)puVar26;
      puVar26 = puVar26 + 1;
      FormatLocaleString(local_5020,0x1000,"%010lu 00000 n \n",uVar12);
      WriteBlobString(local_6224,local_5020);
    } while (local_6200 + uVar10 + 7 != puVar26);
  }
  WriteBlobString(local_6224,"trailer\n");
  WriteBlobString(local_6224,"<<\n");
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  SignatureImage(local_6224,param_3);
  GetImageProperty(local_6224,"signature",param_3);
  GetImageProperty(local_6224,"signature",param_3);
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  WriteBlobString(local_6224,">>\n");
  WriteBlobString(local_6224,"startxref\n");
  FormatLocaleString();
  WriteBlobString(local_6224,local_5020);
  iVar27 = 1;
  WriteBlobString(local_6224,"%%EOF\n");
  RelinquishMagickMemory(local_6200);
  CloseBlob(local_6224);
LAB_002345fa:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return iVar27;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0029eab0();
}

